我想重定向以下网址:
http://example.com/index.php/item123-detail?tmpl=component&format=pdf
为:
http://example.com/index.php/item123-detail
本质上删除"?tmpl = component& format = pdf"来自所有网址。
到目前为止,我已经尝试了其他Stack问题的多个不同的例子。任何帮助将非常感激。谢谢。
答案 0 :(得分:0)
网址?tmpl=component&format=pdf
的这一部分名为QUERY_STRING
,如果您要将其从任何请求中删除,您可以执行以下几种方案,例如将此代码放在主目录.htaccess
中:
RewriteEngine On
RewriteCond %{THE_REQUEST} \?
RewriteRule ^(.*)$ /$1? [L,R=301]
因此,通过上面的代码,您只能使用?
删除请求。
如果您只想匹配此查询字符串并保留其他字符串,请告诉我您另一个情况RewriteCond %{QUERY_STRING}
好的,要仅匹配此查询字符串,请将代码替换为:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^tmpl=component&format=pdf$
RewriteRule ^(.*)$ /$1? [L,R=301]
如果是tmpl&格式值不固定,只能用字母代替,用以下代码替换:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^tmpl=([a-zA-Z]+)&format=([a-zA-Z]+)$
RewriteRule ^(.*)$ /$1? [L,R=301]
答案 1 :(得分:-1)
在另一篇文章中找到的解决方案如下:
remove query string from end of url URL using .htaccess
RewriteCond%{QUERY_STRING}" post_type =" [NC]
RewriteRule(。*)/ $ 1? [R = 301,L]