如何在httpd.conf文件中使用mod_rewrite来删除.php扩展名?

时间:2013-05-22 04:20:43

标签: apache mod-rewrite httpd.conf

我知道网上有无数关于如何在.htaccess文件中使用mod_rewrite来删除.php扩展名的例子。我发现了这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

当我在根目录中的.htaccess文件中使用它时,这非常有效。

现在我正在尝试切换到在服务器上的httpd.conf配置文件而不是htaccess中进行重写。我将那些确切的代码复制并粘贴到文件中,将其包装在<IfModule mod_rewrite.c></IfModule>标记中(我按照后面的教程说这样做。)

但现在重写不起作用;当我尝试在我的网站上关注更改之前工作的链接时,Apache给了我一个找不到错误的对象。

我知道mod_rewrite正在运行,我将代码放在正确的位置和所有内容,因为我有规则

RewriteRule ^/echo/(.*)$ /retired/echosomething.php?string=$1

在其他重写行之后,此行正常工作。

在没有.php扩展名的情况下,我需要做些什么才能使mod_rewrite工作?为什么这段代码在htaccess中工作但在httpd.conf中却没有?

0 个答案:

没有答案