我有一个www根文档,其中包含一些子目录,我希望将请求有条件地路由到请求的域。
例如。如果请求的域是 testsite.com ,则Apache服务器应运行子文件夹 /testsite.com 的内容。如果请求的域名为 testiste.org ,Apache应运行 /testsite.org 文件夹。
其实我的.htaccess是:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?oliotarcento\.com$ [NC]
RewriteRule ^(.*)$ /oliotarcento.com/$1 [L]
在这种情况下,规则运行正常,但根本没有。 这是一个奇怪的案例:
http://www.oliotarcento.com/forum/工作正常,但如果省略http://www.oliotarcento.com/forum之类的尾部斜杠,我的浏览器将重定向到http://www.oliotarcento.com/oliotarcento.com/forum/。
我错了什么?
答案 0 :(得分:0)
这种情况正在发生,因为forum
是一个目录而mod_dir
为重定向的URL添加了一个尾部斜杠。试试这个:
DirectorySlash Off
RewriteEngine on
RewriteBase /
# add a trailing slash to directories
RewriteCond %{DOCUMENT_ROOT}/oliotarcento.com/$1 -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302]
RewriteCond %{HTTP_HOST} ^(www\.)?oliotarcento\.com$ [NC]
RewriteRule ^((?!oliotarcento\.com/).*)$ oliotarcento.com/$1 [L,NC]