【问题标题】:RewriteRule not running重写规则未运行
【发布时间】:2013-05-03 17:47:41
【问题描述】:

我在httpdocs/test/ 中放了一个.htaccess 文件,有两条规则:

RewriteEngine On
RewriteRule ^test/reviews/([0-9]+)\-[A-Za-z1-9\-]$ /test/reviews.php?id=$1

DirectoryIndex reviews.php

DirectoryIndex 规则有效,所以我知道文件已被解析。但是,地址 /test/reviews/123-Bose 会导致 404 错误。在我的 phpinfo 文件中,在 apache2hander 下,Loaded Modules 旁边有 mod_rewrite,因此 Rewrite 已经加载。为什么/test/reviews/123-Bose 不被重写?

编辑:我必须将 .htaccess 留在 /test/ 目录中。

谢谢!

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    如果您要指定包括test/ 在内的整个基本路径,请将.htaccess 文件放在 文件夹中,而不是子文件夹中。另外,添加一个基本语句,因为您没有指定前导斜杠:

    RewriteEngine On
    RewriteBase /
    ...your rules...
    

    【讨论】:

    • 如果我必须将 .htaccess 留在测试文件夹中,我该怎么办?
    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多