我有一个问题: 最近我用新网站(和WordPress作为CMS)替换了我的旧网站(没有CMS)。但是很多人仍然试图通过旧网址访问该网站。 显然我想将它们重定向到正确的页面。
例如:之前的网址为:http://domain.com/foldername/page_name
在同一页面位于http://domain.com/page-name
注意#1:underscore
已替换为dash
注意#2:某些页面可能包含更多下划线。例如:http://domain.com/foldername/an_other_page_name
注意#3:由于我使用WordPress作为CMS,因此我的.htaccess文件中已经存在一些代码。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
由于我和htaccess的关系不如你们中的一些人,我希望有人有解决方案,因为我找不到正确的页面而失去了访问者。
答案 0 :(得分:0)
在RewriteBase
行下方,您可以使用此递归规则:
RewriteRule "^(foldername)/([^_]*)_+([^_]*_.*)$" /$1/$2-$3 [N]
RewriteRule "^(foldername)/([^_]*)_([^_]*)$" /$2-$3 [L,R=301]