【问题标题】:htaccess rewrite removing php errorhtaccess 重写删除 php 错误
【发布时间】:2015-01-15 06:27:44
【问题描述】:

我正在尝试让 mod_rewrite 删除 url 末尾的 .php。 我正在使用 WAMP 我正在使用

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

我在这里找到的,但是当我尝试访问该文件时,我得到了一个

Forbidden

You don't have permission to access /uguu/C:/wamp/www/uguu/editor.php on this server.

错误。

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: apache .htaccess mod-rewrite wamp


    【解决方案1】:

    尝试将%{REQUEST_FILENAME} 替换为%{REQUEST_URI}

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule !.*\.php$ %{REQUEST_URI}.php [QSA,L]
    

    或者如果您的规则看起来像这样可能会更好:

    RewriteEngine On
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^(.*)/?$ /$1.php [QSA,L]
    

    【讨论】:

    • @FrickenHamster %{REQUEST_FILENAME} 是请求的推断文件映射路径,这就是为什么它包含文件系统中的所有内容
    • 第二个失败,在此服务器上找不到请求的 URL /uguu/editor。
    • @FrickenHamster htaccess 文件不在文档根目录中吗?如果不是,那么您需要将条件和规则中的$1 替换为%{REQUEST_URI}
    • 我明白了,我将如何添加到这一点,以便向 uguu/api/.. 发出的所有请求都发送到 api.php?谢谢
    • @FrickenHamster 好吧,您可以通过添加 Options +Multiviews 来打开多视图来做到这一点,而根本不用担心 mod 重写
    猜你喜欢
    • 2016-01-02
    • 2015-03-14
    • 2018-05-25
    • 2014-12-22
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2017-09-24
    • 2013-09-15
    相关资源
    最近更新 更多