我想通过在核心PHP中使用.htaccess文件重定向将.htaccess PHP中的查询字符串url重定向到另一个url?
到
https://exmaple.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf
但它不是重定向,因为我有吗?查询在我的网址中,但在问题3月之后没有关键值ķ。
有人可以帮助我如何在.htaccess中重定向此URL吗?
我想通过在核心PHP中使用.htaccess文件重定向将.htaccess PHP中的查询字符串url重定向到另一个url?
到
https://exmaple.com/uploads/cms_files/GENERAL-TERMS-AND-CONDITIONS.pdf
但它不是重定向,因为我有吗?查询在我的网址中,但在问题3月之后没有关键值ķ。
有人可以帮助我如何在.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内部的正确位置主机文档文件夹。
但是,为什么你必须重写呢?如果一个对象使用URL存在可要求,那么查询字符串可以简单地被忽略...
而且一般提示:你应该总是喜欢在http服务器内这些规则(虚拟)主机配置,而不是使用动态配置文件(.htaccess
样式文件)。这些文件出了名的错误,很难调试,他们真的放慢了服务器。只有当你无法控制主机配置(读取:真正便宜的主机服务提供商)或者如果你有一个依赖编写自己的重写规则的应用程序(这是一个明显的安全噩梦) )。
谢谢,这真的很有帮助 – BornCoder
为什么你要重写呢?如果存在可以使用该URL请求的对象,则可以简单地忽略查询字符串... – arkascha