Htaccess 301更改旧URL

时间:2016-03-29 16:41:55

标签: apache .htaccess redirect mod-rewrite http-status-code-301

我想在我的htaccess中更改网址并使用重定向301进行搜索引擎优化。

我的旧网址:

RewriteRule ^my-oldurl-(([0-9]+)-[a-zA-z0-9_-]+).html$ index.php?page=my-detail&id=$1&cat=$2 [QSA,L]

我的新网址:

RewriteRule ^my-newurl-(([0-9]+)-[a-zA-z0-9_-]+).html$ index.php?page=my-detail&id=$1&cat=$2 [QSA,L]

我的上次测试(错误500):

RewriteRule ^my-oldurl-(([0-9]+)-[a-zA-z0-9_-]+).html ^my-newurl-(([0-9]+)-[a-zA-z0-9_-]+).html [QSA,R=301]

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

你的问题有点模糊,但我认为这就是你要找的东西:

RewriteRule ^my-oldurl-([0-9]+)-([a-zA-z0-9_-]+)\.html$ index.php?page=my-detail&id=$1&cat=$2 [QSA,L,R=301]

或者,如果您更喜欢两步法,您可以这样做:

RewriteRule ^my-oldurl-([0-9]+)-([a-zA-z0-9_-]+)\.html$ my-newurl-$1-$2.html [QSA,L,R=301]

并依赖已有的新网址重写规则。

另请注意我在正则表达式中添加到点(\)的反斜杠转义(.)。它没有工作,但这个版本更精确。