我正在使用RewriteRule将丑陋的URL更改为seo友好的URL。但现在这两个URL同时工作。如何禁用丑陋的URL?
处理这类事情的最佳方法是在PHP内部处理路由。有许多路由器库将URL映射到函数/类/控制器,反之亦然,这确实是处理URL的最明智的方法。在这种情况下,您只需要一个通用的RewriteRule
,它将所有URL重写为一个规范的处理程序:
RewriteRule ^ index.php
index.php
然后处理所有路由,因为它只处理"漂亮的URL",所以丑陋的URL不会匹配它的任何路由。有了这个规则,Apache就不会再直接将任何"丑陋的URL"与文件进行匹配了。
例如,请参见http://symfony.com/doc/current/components/routing/introduction.html