【发布时间】:2014-07-08 00:53:55
【问题描述】:
在我的 Ubuntu 开发机器上,我运行 LAMP 堆栈。对于我工作的每个网站,我都会在根目录下创建一个新目录:
/var/www/somesite.com
/var/www/anothersite.com
我遇到的问题是 apache 不允许跨这些文件夹重复重写规则。例如,如果我这样设置:
重写规则 ^track/(.*)$ /somesite.com/order_track.php [nc,L]
http://localhost/somesite.com/track/abc123 - 按预期工作
同样的声明不适用于 anothersite.com
重写规则 ^track/(.*)$ /anothersite.com/order_track.php [nc,L]
http://localhost/anothersite.com/track/abc123 - Apache 返回 404。
清除浏览器缓存并重新启动 Apache 无效。 Apache 似乎“记住”了第一个喜欢使用的 rewriterule。这发生在我的所有计算机(家庭、工作、笔记本电脑)上
编辑:我应该提到我在每个目录中都有一个 htaccess 文件。根目录 /var/www 不包含 htaccess 文件。每个目录的 htaccess 应该独立运行。但他们没有。
【问题讨论】:
标签: php apache .htaccess mod-rewrite lamp