我有一堆RewriteRules工作正常,并且必须存在于服务器回复的每个主机名。一个例子:
RewriteRule ^/file\.js /var/pear/Package/file\.js [QSA,L]
现在,我想强制规范名称为目录末端的丢失斜线重定向。所以我补充道:
<VirtualHost *:80>
ServerName custom.name.com
</VirtualHost>
如果我转到http://custom.name.com/some_dir,则会重定向到http://custom.name.com/some_dir/
现在,如果我转到http://custom.name.com/file.js或http://original.host.name/file.js,我会收到404而不是Pear中的文件。如果我删除VirtualHost 3行,一切都会恢复正常工作。
任何想法为什么?
编辑1:
尝试使用ServerAlias而不是ServerName,结果相同。
EDIT2:
设置VirtualHost会导致RewriteRules停止工作。空洞已经足够了。
答案 0 :(得分:1)
您的规则似乎仅适用于默认网站。
试试这个
<VirtualHost *:80>
ServerName custom.name.com
DocumentRoot path/goes/here
<Directory "path/goes/here">
...
RewriteRule ^/file\.js /home/y/share/pear/Pacakge/file\.js [QSA,L]
...
</Directory>
</VirtualHost>
我希望这可以帮到你
此致