Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 301重定向不适用于查询字符串URL_Php_Apache_.htaccess_Redirect - Fatal编程技术网

Php 301重定向不适用于查询字符串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 我还在下面使用了

我不想在不影响其余重定向的情况下,独立重定向查询字符串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

我还在下面使用了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谢谢,但给定的解决方案不起作用。对于第二个解决方案,它运行良好。包含如何删除查询字符串的说明。包含如何删除查询字符串的说明。