发布于 2012-05-18 03:56:48
尝试将以下内容放入您的.htaccess文件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]
对于更一般的规则(适用于任何子域,而不仅仅是sub
),请将最后两行替换为:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ subdomains/%1/$1 [L,NC,QSA]
发布于 2013-12-05 06:54:23
我不是mod_rewrite专家,并且经常与之斗争,但我在我的一个网站上做到了这一点。它可能需要其他标志,等等,这取决于您的环境。我使用的是:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdomains/subdomain
RewriteRule ^(.*)$ /subdomains/subdomain/$1 [L]
网站其余部分的任何其他重写规则必须在此之后进行,以防止它们干扰您的子域重写。
发布于 2016-01-18 23:03:22
您可以在.htaccess中使用以下规则将子域重写为子文件夹:
RewriteEngine On
# If the host is "sub.domain.com"
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
# Then rewrite any request to /folder
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
逐行解释:
RewriteEngine on
上面的代码行告诉服务器打开重写URL的引擎。
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
这一行是RewriteRule的一个条件,在这里我们使用正则表达式模式与HTTP主机进行匹配。条件是,如果主机是sub.domain.com,则执行规则。
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
该规则与匹配,并在内部将其重定向到。
将sub.domain.com替换为您的子域,并将文件夹替换为您要将子域指向的文件夹的名称。
https://stackoverflow.com/questions/10642426
复制相似问题