我的问题很简单......
这有效:
RewriteRule ^foo http://google.com
但这不是:
RewriteRule ^routing/? routing.php [L]
没有名称为routing的目录或文件名。有关详细信息,请参阅此问题: .htaccess url routing subdirectory
自从提出这个问题以来,我对.htaccess系统的理解已经显着增长。我现在承担它,从我看到的一切看起来很好。当使用foo时更改那一行将重定向到谷歌,并且仅使用路由呈现404错误。另外我确信routing.php在那里工作。
为什么这不起作用的任何建议?
答案 0 :(得分:1)
你没有问号试试吗? 查看文档,我认为你根本不应该使用问号: http://httpd.apache.org/docs/current/mod/mod_rewrite.html尝试使用$。
答案 1 :(得分:1)
你知道吗,我敢打赌,因为你已Multiviews
开启了。尝试:
Options -Multiviews
位于htaccess文件的最顶层。