HTACCESS重定向子目录到上层



我可以添加哪个规则。

任何包括"/制造商/的子文件夹"中的任何符号 都可以重写到上层

domain.net/catalog/file/manufacturer/?categorylayout=0&showcategory=1&showproducts=1&productsublayout=0

to

domain.net/catalog/file/

htaccess

RedirectMatch 301 ^/manufacturer/ / 

无法工作。它应该从URL的末端删除Get-Parameter,而QSD-FLAG会导致500错误。

我认为这就是您要寻找的:

RewriteEngine on
RewriteRule ^/?(.+)/manufacturer/ /$1/ [R=301,QSD]

如果加载重写模块,则可以在HTTP服务器主机配置或动态配置文件(.htaccess)中使用。

如果您决定使用此类,则必须启用动态配置文件的解释。在这种情况下,应将文件放置在您的HTTP服务器DocumentRoot文件夹中。


您的描述在一个小细节中与自身矛盾:在描述中,您说的是"/制造商/任何符号",但是该示例显示了一个没有此类符号的URL(请注意,Get参数是 not> not 考虑的URL的一部分)。因此,上述规则可能必须根据您的确切要求是什么...

进行稍微修改。

和一个常规提示:您应该始终更喜欢将此类规则放置在HTTP服务器主机配置中,而不是使用动态配置文件(" .htaccess")。众所周知,这些文件容易出错,难以调试,并且确实放慢了服务器。它们仅作为您无法控制主机配置的情况的最后一个选择(请阅读:真正便宜的托管服务提供商),或者如果您有一个依赖于编写自己的重写规则的应用程序(这是一个显而易见的安全噩梦)。

最新更新