如果源路径与现有PHP文件同名,.htaccess重定向中断的奇怪问题


strange issue with .htaccess redirect breaks if source path is the same name as a existing php file

我注意到一个奇怪的情况发生,当我试图创建一个mod重写条目,其中源路径也是相同的名称在同一文件夹中现有的php文件。看到示例

RewriteRule ^users/([^/]*)/([^/]*)$ redirect.php?page=user&name=$1&id=$2 [L]

问题是,我调用目录"/users/"作为源路径的规则,如果我也有一个文件在根文件夹同名"users.php"然后上面的规则最终指向该文件,而不是我想重定向规则指向的页面(这是重定向。php在这种情况下)。

有什么建议吗?

这是因为Apache的内容协商。
要禁用它,请将这行放在htaccess中(例如,在RewriteEngine on行之前)

Options -MultiViews