使用.htaccess mod_rewrite后找不到网址?

时间:2013-04-04 00:26:35

标签: php url

我的服务器上有一个.htaccess文件,我正在使用mod_rewrite来隐藏网址中的.php扩展名。 因此http://www.mysite.com/home.php变为http://www.mysite.com/home

然而,我收到404错误消息,说没有找到该页面。 我错过了什么,我是否需要将链接更改为绝对路径?因为即使用户尝试输入http://www.mysite.com/homehttp://www.mysite.com/home.php,它仍然表示找不到该页面。

这是我的htacces文件中的最新内容:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php

1 个答案:

答案 0 :(得分:0)

RewriteEngine On
# turn on the mod_rewrite engine

RewriteCond %{REQUEST_FILENAME}.php -f
# IF the request filename with .php extension is a file which exists
RewriteCond %{REQUEST_URI} !/$
# AND the request is not for a directory
RewriteRule (.*) $1\.php [L]
# redirect to the php script with the requested filename

试试我发布的示例。这应该可以删除你的PHP扩展