如何将具有相同子字符串的网址重定向到新网页
我必须重定向此类型的大约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个网址,我不得不重定向其中的一半。
有什么建议吗?谢谢。
答案 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