htaccess redirect / foldername / page_name到/ page-name

时间:2014-03-10 13:54:44

标签: regex wordpress .htaccess redirect rewrite

我有一个问题: 最近我用新网站(和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的关系不如你们中的一些人,我希望有人有解决方案,因为我找不到正确的页面而失去了访问者。

1 个答案:

答案 0 :(得分:0)

RewriteBase行下方,您可以使用此递归规则

RewriteRule "^(foldername)/([^_]*)_+([^_]*_.*)$" /$1/$2-$3 [N]
RewriteRule "^(foldername)/([^_]*)_([^_]*)$" /$2-$3 [L,R=301]