Regex htaccess将/foldername/page_name重定向到/page name
我有一个问题: 最近我用一个新网站(WordPress是CMS)替换了我的旧网站(没有CMS)。但很多人仍然试图通过旧的URL访问该网站。 显然,我想将它们重定向到正确的页面 例如:上一个URL是:Regex htaccess将/foldername/page_name重定向到/page name,regex,wordpress,.htaccess,redirect,rewrite,Regex,Wordpress,.htaccess,Redirect,Rewrite,我有一个问题: 最近我用一个新网站(WordPress是CMS)替换了我的旧网站(没有CMS)。但很多人仍然试图通过旧的URL访问该网站。 显然,我想将它们重定向到正确的页面 例如:上一个URL是:http://domain.com/foldername/page_name 在新网站上,该页面位于http://domain.com/page-name 注#1:下划线已替换为破折号 注#2:某些页面可能包含更多下划线。例如:http://domain.com/foldername/an_other
http://domain.com/foldername/page_name
在新网站上,该页面位于http://domain.com/page-name
注#1:下划线
已替换为破折号
注#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
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
由于我对htaccess的使用不如你们中的一些人好,我希望有人能找到解决方案,因为我正在失去访问者,因为他们找不到正确的页面。就在
RewriteBase
行的下方,您可以使用此递归规则:
RewriteRule "^(foldername)/([^_]*)_+([^_]*_.*)$" /$1/$2-$3 [N]
RewriteRule "^(foldername)/([^_]*)_([^_]*)$" /$2-$3 [L,R=301]