所以我有几个 mod_rewrite 规则来使 URL 更漂亮。
我的意思是我希望更改这样输入的网址:
http://test.domain.com/cheese/wine/
到 test.php 的背景关联,如下所示:
http://test.domain.com/test.php?client=test&page=cheese/wine
PS:上面的client变量其实就是[test].domain.com。
根据重写日志,所有 RewriteRule 似乎都可以正常工作,但我得到的只是 400 错误。
虚拟主机文件:
<VirtualHost *:80>
ServerName *.domain.com
DocumentRoot /var/www/dir/
...
RewriteEngine on
# drop www. from subdomains
RewriteCond %{HTTP_HOST} ^www\.(.*)\.domain.com$
RewriteRule ^/?(.*)$ http://%1.domain.com/$1 [R=301]
# rewrite x.domain.com/abc to abc?client=x
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain.com$
RewriteRule ^/?(.*)$ $1?client=%1 [QSA]
RewriteRule ^/?(.*)$ test.php?page=$1 [QSA,L]
...
</VirtualHost>
有没有人有任何想法?
编辑:请求主机名 (*.domain.com) 需要保持不变,因为 (www.)domain.com 以不同的方式处理。