如何使用动态生成的URL重定向301?
问题描述:
在你说做一些研究之前,我有一个我知道如何重定向301.如何使用动态生成的URL重定向301?
然而,这是一个相当具体的问题。
让我有一种现代重写生效:
RewriteRule ^/news/article/([^/]*)/$ /news/article.php?title=$1 [L]
此输出网址/新闻/条/标题/,但是我最近想删除尾随斜线
所以读取网址/新闻/条/标题,这个很容易做到:
RewriteRule ^/news/article/([^/]*)$ /news/article.php?title=$1 [L]
然而,当有人进入/新闻/条/标题/ 现在所以我的问题是有一种方式,我们重定向301,所以当用户输入/新闻/文章/标题/他们被定向到/新闻/文章/标题
我记得我想这工作的所有动态产生的网址..
答
您应该实际上让斜线可选:
RewriteRule ^/?news/article/([^/]*)/?$ /news/article.php?title=$1 [L,QSA]
要删除尾随/
斜线从URL中使用的重定向规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L,NE]
答
使用R=301
标志是这样的:
RewriteRule ^/news/article/([^/]*)/$ /news/article/$1 [R=301]
RewriteRule ^/news/article/([^/]*)$ /news/article.php?title=$1 [L]
详情请参阅apache documentation有关标志
我真的很喜欢这个可选的斜线方法!但删除一个是我感觉最好的解决方案 – 2014-09-24 11:20:59