我重新设计了一个网站,以摆脱旧的丑陋网址格式。旧的URL使用了mod_rewrite,所以我希望能够重定向这些网址,这样如果用户点击互联网上的某个链接到旧网址,它就会重定向到新网页。
帖子的旧网址看起来像这样
http://website.com/viewpost/123/review/review-title-slug.html
新网址将如下所示
旧的mod重写规则看起来像这样。
RewriteRule ^viewpost/([^/]*)/([^/]*)/([^/]*)\.html$ /viewpost.php?ID=$1&type=$2&Title=$3 [L]
我在想我可以添加以下规则,但仍然可以捕获旧网址,但我无法让它工作。即使它确实有效,也不会重定向。我想要它,所以如果用户访问旧网址,它将重定向到新网址。
RewriteRule ^viewpost/([^/]*)/([^/]*)/([^/]*)\.html$ /$3 [L]
答案 0 :(得分:1)
您可以在旧网站的根.htaccess中使用此规则:
RewriteEngine On
RewriteRule ^viewpost/[^/]+/[^/]+/([^/]+)\.html$ /$1 [L,NC,R=301]
# comment out this older rule
# RewriteRule ^viewpost/([^/]*)/([^/]*)/([^/]*)\.html$ viewpost.php?ID=$1&type=$2&Title=$3 [L]