我正在尝试从Apache中删除部分动态uri,尝试了不同的重写规则但没有到达任何地方。我能够使用查询字符串清理URL但是 访问后删除任何内容,但我们需要组部分才能申请工作。
accessdenied?group = test& oam_res =应删除& oam_res之后发生的事情,请帮忙。
答案 0 :(得分:0)
问题有点模糊,但我想这会指向正确的方向:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^([^&]*&)*oam_res=
RewriteRule ^/?accessdenied$ /accessdenied?%1 [R=301]
请注意,这会实现外部重定向,因此会更改客户端(浏览器)中可见的URL。如果您只想进行内部重写,则需要将[R=301]
标志替换为[L]
标志。
为此,您显然需要在http服务器中安装,加载和启用重写模块。如果您想使用动态配置文件(.htaccess
),您还需要使用AllowOverride
指令启用其解释。但是您应该始终更喜欢将这些规则放在http服务器(虚拟)主机配置中,而不是使用动态配置文件(.htaccess
样式文件)。这些文件非常容易出错,难以调试,它们确实会降低服务器的速度。只有在您无法控制主机配置(读取:非常便宜的托管服务提供商)或者您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)的情况下,它们才被支持作为最后一个选项。 )。