Php 301重定向不适用于查询字符串URL
我不想在不影响其余重定向的情况下,独立重定向查询字符串URL 我使用下面的代码,但它不工作Php 301重定向不适用于查询字符串URL,php,apache,.htaccess,redirect,Php,Apache,.htaccess,Redirect,我不想在不影响其余重定向的情况下,独立重定向查询字符串URL 我使用下面的代码,但它不工作 Redirect 301 /contact/index.php?main_page=index&cPath=7/ https://www.abc.xyz/contact-us.php Redirect 301 /contact/index.php?main_page=index&cPath=7 https://www.abc.xyz/contact-us.php 我还在下面使用了
Redirect 301 /contact/index.php?main_page=index&cPath=7/ https://www.abc.xyz/contact-us.php
Redirect 301 /contact/index.php?main_page=index&cPath=7 https://www.abc.xyz/contact-us.php
我还在下面使用了301重定向,但它被重定向到abc.xyz/page/2
Redirect 301 /tag/metal-roof/page/2/ https://www.abc.xyz/solar-power.php
Redirect 301 /tag/metal-roof/page/2 https://www.abc.xyz/solar-power.php
Redirect 301 /tag/metal-roof/ https://www.abc.xyz/
Redirect 301 /tag/metal-roof https://www.abc.xyz/
使用下面的代码,我至少可以重定向到该页面,但不能删除查询字符串
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^contact\/index\.php$ "https\:\/\/www\.abc\.xyz\/contact\-us\.php" [R=301,L]
重定向后的URL如下所示:
https://www.abc.xyz/contact-us.php?main_page=index&cPath=7
使用下面的代码,我至少可以重定向到该页面,但不能删除查询字符串
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^contact\/index\.php$ "https\:\/\/www\.abc\.xyz\/contact\-us\.php" [R=301,L]
重定向后的URL如下所示:
https://www.abc.xyz/contact-us.php?main_page=index&cPath=7
下面是第一个正确的regex^/contact/index.php \?main_page=index&cPath=7/?$关于第二个,它是一个混乱的东西,因为/tag/metal roof/也适用于上面的一个。使用^/tag/metal roof/?$和^/tag/metal roof/page/2/?$@VitaliProtosovitski
重定向
是否仅进行字符串匹配,使用正则表达式将需要切换到重定向匹配
指令。但这仍然不能改变事实,两者都只与URL的路径组件匹配。基于查询字符串内容的重定向需要使用RewriteCond和RewriteRule组合使用mod_rewrite进行。@VitaliProtosovitski谢谢,但给定的解决方案不起作用。对于第二个解决方案,它工作正常。这是第一个正确的regex^/contact/index.php \?main_page=index&cPath=7/?$对于第二个解决方案,它很混乱,因为/tag/metal roof/也适用于上述解决方案。使用^/tag/metal roof/?$和^/tag/metal roof/page/2/?$@VitaliProtosovitski重定向
是否仅进行字符串匹配,使用正则表达式将需要切换到重定向匹配
指令。但这仍然不能改变事实,两者都只与URL的路径组件匹配。基于查询字符串内容的重定向需要使用RewriteCond和RewriteRule组合使用mod_rewrite进行。@VitaliProtosovitski谢谢,但给定的解决方案不起作用。对于第二个解决方案,它运行良好。包含如何删除查询字符串的说明。包含如何删除查询字符串的说明。