htaccess重写在localhost上无法正常工作

时间:2011-12-28 16:00:16

标签: .htaccess url-rewriting xampp

我现在正在重组网站,我正在localhost(xampp)上测试它。

在根目录中有几个.htm文件,它们被转换为.php。 但是我想保留.htm扩展名出于SEO的原因。 所以我用这个内容创建了一个.htaccess文件:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)\.php$ $1.htm [L]

但是当我尝试访问这样的页面来测试重写时:
http://localhost/sitename/anything.php

我总是得到 http://localhost/C:/xampp/htdocs/sitename/anything.htm

显然会产生403错误。

我试图更改.htaccess选项,但没有成功。
在Apache中启用了重写模块,因此情况并非如此。

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

尝试添加RewriteBase指令,即

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^(.*)\.php$ $1.htm [L]

答案 1 :(得分:0)

尝试使用请求的URI重定向:

RewriteEngine On
RewriteRule ^(.*)\.php$ %{REQUEST_URI}.htm [R=301,L]

我对它进行了测试,并将“.htm”添加到我的所有php URI中.test.php - > test.php.htm

此处无需反向引用。