2015-04-01 63 views
0

我使用RewriteRule将丑陋的URL更改为seo友好的URL。但是现在这两个URL都在同时工作。你如何禁用丑陋的URL?丑陋的URL和seo友好的URL都可以使用。如何禁用丑陋的URL?

+0

有太多不同的方法可以做到这一点。 canonical,301重定向,...告诉我们您的设置/配置以及您尝试的内容。 – DanFromGermany 2015-04-01 07:54:56

+0

我不确定你的设置/配置是什么意思,但这是我的重写规则RewriteRule^test?action = viewArticle&articleId = 23 [NC,L] – zaha 2015-04-01 07:57:13

回答

1

处理这种事情的最好方法是在PHP本身内处理路由。有很多路由器库,它将URL映射到函数/类/控制器,反之亦然,这是处理URL最真实的方法。在这种情况下,你只需要一个通用的RewriteRule其重写所有网址变成一个规范的处理程序:

RewriteRule^index.php 

index.php然后处理所有路由,并且因为它只会处理“漂亮网址”的丑陋的赢得不符合其任何路线。根据这条规则,Apache不会直接将任何“丑陋URL”与文件进行匹配。

例如,请参阅http://symfony.com/doc/current/components/routing/introduction.html