阿帕奇:mod_rewrite不指示一个地址


Apache: mod_rewrite not directing one address

所以我正在编写一个基于 Web 的程序,而不是在 URL 中有大量/?p=54&z=42等,我将其设置为指示第一个"目录"(例如 /home/ )作为函数,第二个"目录"(例如/home/view/)作为操作。

现在,将其设置为localhost/home/有效,将其设置为localhost/settings/也可以,但是当我将其更改为localhost/stats/时,它会尝试查找文件或文件夹......不将其重定向到要在 PHP 中使用的变量...我确实有一个.PHP文件之前坐在那里,但在2天前删除了它。Apache仍在尝试查找那里的文件。我已经重新启动了十几次计算机,但没有运气。

我的.htaccess文件看起来像这样:

RewriteRule ^([a-z]+)/([0-9,a-z]+)$ /$1/$2/ [R]
RewriteRule ^([a-z]+)/([0-9,a-z]+)/$ /index.php?function=$1&action=$2 [L]
RewriteRule ^([a-z]+)$ /$1/ [R]
RewriteRule ^([a-z]+)/$ /index.php?function=$1 [L]

我做错了什么,我需要做什么才能让它发挥作用?

在你的 httpd.conf 或虚拟主机的 conf 文件中,你可能有一个别名或类似的东西,让它在达到规则之前处理/stats/。

原来根

目录中有一个名为 stats.deadphp 的文件导致了问题。删除它清除了它。:)