【问题标题】:Apache: mod_rewrite not directing one addressApache:mod_rewrite 不指向一个地址
【发布时间】:2011-08-31 03:08:22
【问题描述】:

所以我正在编写一个基于 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]

我做错了什么,我需要做什么才能使其正常工作?

【问题讨论】:

    标签: php html apache .htaccess mod-rewrite


    【解决方案1】:

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

    【讨论】:

    • 它是在新 Ubuntu 安装上构建的标准 Apache,几乎没有任何改动。 (已安装 PHP 和 MySQL 服务器)
    • 仍然...我很确定我的 FreeBSD VPS 已将 awstats 配置为默认显示在 /stats/ 上。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多