我需要将旧页面重定向到具有相同webdite的新页面。问题是旧网址有{QUERY_STRING}。
旧http://hostelcomfort.com.ua/?page_id=12
新http://hostelcomfort.com.ua/o-gostinitse/
到目前为止,我能想到的最好的是
RewriteCond %{QUERY_STRING} ^page_id=(.*)$
RewriteRule ^/?$ /o-gostinitse/ [R=301,L]
然而,它一直在末尾添加查询字符串/ o-gostinitse /?page_id = 12。
如何编辑第二行?
答案 0 :(得分:2)
您需要使用:
RewriteCond %{QUERY_STRING} ^page_id=12$
RewriteRule ^/?$ /o-gostinitse/? [R=301,L]
目标网址中的 ?
将丢弃任何现有的查询字符串。
PS:从Apache 2.4开始,您还可以使用QSD
(查询字符串放弃)标记:
RewriteCond %{QUERY_STRING} ^page_id=12$
RewriteRule ^/?$ /o-gostinitse/ [R=301,L,QSD]