Apache 带有查询字符串的RewriteRule被重写为/param/param/
我有一条规则:Apache 带有查询字符串的RewriteRule被重写为/param/param/,apache,.htaccess,mod-rewrite,rewrite,webmin,Apache,.htaccess,Mod Rewrite,Rewrite,Webmin,我有一条规则: RewriteRule ^gallery/([^/]+)/?$ /gallery.php?title=$1 [L] 但是,当导航到gallery/a/时,内部重定向是: gallery.php/a //(instead of: gallery.php?title=a) 什么会导致这种行为?选项多视图可能是罪魁祸首。选项MultiView由Apache的内容协商模块使用,该模块在mod_重写之前运行,并使Apache服务器匹配文件扩展。因此/file可以在URL中,但它将提供/
RewriteRule ^gallery/([^/]+)/?$ /gallery.php?title=$1 [L]
但是,当导航到gallery/a/时,内部重定向是:
gallery.php/a //(instead of: gallery.php?title=a)
什么会导致这种行为?选项多视图可能是罪魁祸首。选项MultiView由Apache的内容协商模块使用,该模块在mod_重写之前运行,并使Apache服务器匹配文件扩展。因此/file可以在URL中,但它将提供/file.php
使用.htaccess顶部的此行将其关闭:
Options -MultiViews
太棒了,就是这样!