我正在开发一个基于查询字符串的两个多页重定向的网站。问题是这些页面现在给我们一个404错误
网址1类似于
website.com?queryhome=productname-546-axdd
网址2就像
website.com?querynonhome=productname-546-asx
我正在尝试将网址1中的所有内容转到主页和网址2转到网站http://reviews-page
我尝试了以下网址1
RewriteCond %{QUERY_STRING} ^queryhome=([0-9]*)$
RewriteRule (.*) http://www.website.com [R=301,L]
以及URL 2的以下内容
RewriteCond %{QUERY_STRING} ^querynohome=([0-9]*)$
RewriteRule (.*) http://www.website.com/reviews-page [R=301,L]
但似乎都不起作用。
对此事的任何帮助都将不胜感激。很明显,这是我第一次尝试处理具有查询字符串的URL。
谢谢
答案 0 :(得分:1)
你的正则表达式是这里的问题:
RewriteCond %{QUERY_STRING} ^queryhome=([0-9]*)$
RewriteRule (.*) http://www.website.com [R=301,L]
哪个匹配查询字符串queryhome=1234
仅由于[0-9]*
而非queryhome=productname-546-axdd
您需要使用以下规则:
RewriteCond %{QUERY_STRING} ^queryhome=([^&]*) [NC]
RewriteRule ^ http://www.website.com/? [R=301,L]
RewriteCond %{QUERY_STRING} ^querynohome=([^&]*) [NC]
RewriteRule ^ http://www.website.com/reviews-page? [R=301,L]