【问题标题】:Mod rewrite apache 2.4.9 from apache 2.2Mod 从 apache 2.2 重写 apache 2.4.9
【发布时间】:2014-05-29 03:30:41
【问题描述】:

好的,所以我在我正在构建的网站的 .htaccess 中有一个规则,该规则有效。这里是:

RewriteRule ^/news/([0-9]+)$ /news.php?%{QUERY_STRING} [L,NC,QSA]

它将 mysite.com/test/ 转换为 mysite.com/test.php(嗯,不是最终用户,但这是它在后台所做的)。

现在我不得不更新服务器,而 apache 2.4.9 现在给了我这个错误:

The requested URL /news.php/ was not found on this server.

这里开始把我的头撞到墙上了。

我已经做了什么:

  • 试过 ^news/([0-9]+)$ /news.php?%{QUERY_STRING} [L,NC,QSA]
  • 试过 ^/news([0-9]+)$ /news.php?%{QUERY_STRING} [L,NC,QSA]
  • 试过 ^/news/([0-9]+)$ /news.php [L,NC,QSA]

我知道我肯定在里面做错了什么,但在 x.x 之前它工作正常

【问题讨论】:

    标签: apache


    【解决方案1】:

    现在的工作原理:

    RewriteRule ^news(.*) /news.php?%{QUERY_STRING} [L,NC,QSA]
    

    我将不得不在 php 中重新编写一些逻辑来检查我认为的查询字符串,但至少现在它确实找到了文件!

    【讨论】:

      【解决方案2】:

      尝试将 .htaccess 的名称更改为不带点的“htaccess”或“htaccess.txt”,并使用 AccessFileNAme [httpd.apache.org] 指令告诉 apache 改用该新文件名。

      【讨论】:

        猜你喜欢
        • 2015-02-23
        • 2011-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 2012-09-09
        相关资源
        最近更新 更多