我需要301重定向主页
https://example.com/
到
https://example.com/category/news
但我有一个通讯,使用此URL后提交:
https://example.com.pl/?na=s
因此,在基本的301重定向之后,时事通讯提交链接也重定向到https://example.com/category/news如何避免呢?
kyks70gy1#
我不知道您目前是如何发出重定向的,但是为了定位查询字符串(为了排除特定的查询字符串),您需要使用mod_rewrite。例如:
RewriteEngine On RewriteCond %{QUERY_STRING} !=na=s RewriteRule ^$ /category/news [QSD,R=301,L]
上面的代码重定向了主页(即空的URL路径),但特别排除了具有确切查询字符串na=s的URL。QSD标志丢弃初始请求中可能存在的任何其他查询字符串。在测试之前,您需要清除浏览器缓存(因为错误的301 * 永久 * 重定向将被浏览器缓存)。首先使用302(临时)重定向进行测试,以避免缓存问题。因此,在基本的301重定向之后,时事通讯提交链接也重定向到https://example.com/category/news尽管如此,通常您会认为它已经重定向到https://example.com/category/news?na=s,除非您已经采取显式措施从重定向响应中删除查询字符串。
na=s
QSD
https://example.com/category/news?na=s
1条答案
按热度按时间kyks70gy1#
我不知道您目前是如何发出重定向的,但是为了定位查询字符串(为了排除特定的查询字符串),您需要使用mod_rewrite。
例如:
上面的代码重定向了主页(即空的URL路径),但特别排除了具有确切查询字符串
na=s
的URL。QSD
标志丢弃初始请求中可能存在的任何其他查询字符串。在测试之前,您需要清除浏览器缓存(因为错误的301 * 永久 * 重定向将被浏览器缓存)。首先使用302(临时)重定向进行测试,以避免缓存问题。
因此,在基本的301重定向之后,时事通讯提交链接也重定向到
https://example.com/category/news
尽管如此,通常您会认为它已经重定向到
https://example.com/category/news?na=s
,除非您已经采取显式措施从重定向响应中删除查询字符串。