我被我的mod_rewrite困住了(大约4个小时,是的,我也用Google搜索)。 基本上我想创建动态子域。所以我只创建一个新文件夹,它自动拥有它自己的子域名。让我举个例子:
/ (root)
/logs
/configs
/otherPrivateStuff
[...]
/subdomains (This is, where things get interesting)
/www (should be: www.domain.com) [domain.com is automatically 301 to www]
/aproject (should be: aproject.domain.com)
/anotherproject (should be: anotherproject.domain.com)
我的.htaccess看起来像这样:
# Mod Rewrite
RewriteEngine on
# Subdomains
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com(:[0-9]+)? [NC]
RewriteRule ^(.*) subdomains/%1/$1/ [NS,L]
http://project.domain.com/path/subpath/file.txt - > http://domain.com/subdomains/project/path/subpath/file.txt
这就像一个魅力,但有一个问题:如果网址如下所示,此规则不适用:http://project.domain.com/subdomains/这就像没有重写一样。
我不明白这一点。有人可以帮助我吗? :)
答案 0 :(得分:0)
我很确定你想要专门排除“subdomains”目录。为此,您只需使用:
# Mod Rewrite
RewriteEngine on
# Subdomains
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com(:[0-9]+)? [NC]
RewriteCond %{REQUEST_URI} !^/subdomains
RewriteRule ^(.*) subdomains/%1/$1/ [NS,L]
我希望这对你有用。