在你做一些研究之前,我知道如何用301重定向。
然而,这是一个非常具体的问题。
所以我有一个有效的Mod Rewrite:
RewriteRule ^/news/article/([^/]*)/$ /news/article.php?title=$1 [L]
这会将网址输出到/ news / article / title /,但我最近想删除尾部斜杠
所以网址读取/ news / article / title,这很容易完成:
RewriteRule ^/news/article/([^/]*)$ /news/article.php?title=$1 [L]
但是现在有人进入/ news / article / title /
所以我的问题是有一种方法让我们重定向301,所以当用户输入/ news / article / title /时,他们会被定向到/ news / article / title
请记住,我希望这适用于所有动态生成的URL ..
答案 0 :(得分:1)
使用R=301
标志,如下所示:
RewriteRule ^/news/article/([^/]*)/$ /news/article/$1 [R=301]
RewriteRule ^/news/article/([^/]*)$ /news/article.php?title=$1 [L]
有关标志的详细信息,请参阅apache documentation
答案 1 :(得分:0)
实际上你应该使尾随斜杠可选:
RewriteRule ^/?news/article/([^/]*)/?$ /news/article.php?title=$1 [L,QSA]
要从网址中删除尾随/
斜杠,请使用此重定向规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L,NE]