如何将具有相同子字符串的URL重定向到新页面

时间:2015-06-04 07:10:39

标签: apache .htaccess redirect drupal url-redirection

如何将具有相同子字符串的网址重定向到新网页

我必须重定向此类型的大约200个URL:

Redirect 301 /folder/page1.html       http://domain.com/new-a
Redirect 301 /folder/xyz_page1.html   http://domain.com/new-a
Redirect 301 /folder/page2.html       http://domain.com/new-b
Redirect 301 /folder/xyz_page2.html   http://domain.com/new-b

“page1.html”/“xyz_page1.html”“page2.html”/“xyz_page2.html”除了字符串“xyz _”之外是类似的

如果我可以使用某种通配符为字符串“xyz_”编写重定向,例如

Redirect 301 /folder/*page1.html   http://domain.com/new-a
Redirect 301 /folder/*page2.html   http://domain.com/new-b

而不是200个网址,我不得不重定向其中的一半。

有什么建议吗?谢谢。

3 个答案:

答案 0 :(得分:2)

RewriteEngine On
RewriteRule /folder/(.*)page1.html$   http://domain.com/new-a [R=301,L]
RewriteRule /folder/(.*)page2.html$   http://domain.com/new-b [R=301,L]

以前工作:)让我知道

答案 1 :(得分:2)

使用RewriteRule。确保已启用mod-rewrite并将其放在站点根目录的.htaccess文件中

RewriteEngine On
RerwriteRule folder/.*page1\.html$ http://domain.com/new-a [R,L]
RerwriteRule folder/.*page2\.html$ http://domain.com/new-b [R,L]

答案 2 :(得分:1)

您可以使用RedirectMatch指令使用正则表达式:

 RedirectMatch 301 ^/folder/page1\.html$       http://domain.com/new-a

RedirectMatch 301 ^/folder/([^_]+)_page1\.html$ http://domain.com/new-b 

RedirectMatch 301 ^/folder/page2\.html$       http://domain.com/new-a

RedirectMatch 301 ^/folder/([^_]+)_page2\.html$       http://domain.com/new-b