Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
将查询字符串url重定向到.htaccess PHP中的另一个url?_Php_.htaccess_Redirect - Fatal编程技术网

将查询字符串url重定向到.htaccess PHP中的另一个url?

将查询字符串url重定向到.htaccess PHP中的另一个url?,php,.htaccess,redirect,Php,.htaccess,Redirect,我想重定向 到 通过在核心php中使用.htaccess文件,但它不会重定向,因为我的URL中有?查询,但问号后的值没有键 有人能帮助我如何在.htaccess中重定向此URL吗?直接实现您的要求是: RewriteEngine on RewriteCond %{QUERY_STRING} ^docs/GENERAL_TERMS_AND_CONDITIONS\.pdf$ RewriteRule ^/?uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS

我想重定向

通过在核心php中使用.htaccess文件,但它不会重定向,因为我的URL中有?查询,但问号后的值没有键


有人能帮助我如何在.htaccess中重定向此URL吗?

直接实现您的要求是:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^docs/GENERAL_TERMS_AND_CONDITIONS\.pdf$
RewriteRule ^/?uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS\.pdf https://example.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf [R=301,QSD]
该规则同样适用于http服务器主机配置和动态配置文件(
.htaccess
)。如果决定使用动态配置文件,则必须注意其解释是否已启用(
AllowOverride
指令),该文件是否可由http服务器进程读取,以及是否位于http hosts文档文件夹中的正确位置

然而,你为什么要重写它呢?如果存在可以使用该URL请求的对象,则可以忽略查询字符串



还有一个一般提示:您应该始终希望将此类规则放置在http服务器(虚拟)主机配置中,而不是使用动态配置文件(
.htaccess
样式文件)。这些文件是出了名的容易出错,难以调试,而且它们确实降低了服务器的速度。只有在您无法控制主机配置的情况下(阅读:非常便宜的主机服务提供商),或者如果您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦),才支持将其作为最后一个选项。

您要求的直接实现是:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^docs/GENERAL_TERMS_AND_CONDITIONS\.pdf$
RewriteRule ^/?uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS\.pdf https://example.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf [R=301,QSD]
该规则同样适用于http服务器主机配置和动态配置文件(
.htaccess
)。如果决定使用动态配置文件,则必须注意其解释是否已启用(
AllowOverride
指令),该文件是否可由http服务器进程读取,以及是否位于http hosts文档文件夹中的正确位置

然而,你为什么要重写它呢?如果存在可以使用该URL请求的对象,则可以忽略查询字符串



还有一个一般提示:您应该始终希望将此类规则放置在http服务器(虚拟)主机配置中,而不是使用动态配置文件(
.htaccess
样式文件)。这些文件是出了名的容易出错,难以调试,而且它们确实降低了服务器的速度。只有在您无法控制主机配置的情况下(阅读:非常便宜的主机服务提供商),或者如果您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦),才支持将其作为最后一个选项。

为什么您必须重写它?如果存在一个可以使用该URL请求的对象,那么可以忽略查询字符串……为什么要重写它?如果存在可以使用该URL请求的对象,则可以忽略查询字符串…谢谢,它非常有用谢谢,它非常有用