.htaccess重写不能在localhost上运行php应用程序

时间:2014-05-21 06:59:16

标签: php .htaccess

我试图制作SEF网址,但.htaccess不起作用。我使用了来自不同网站的各种代码,但没有任何作用。

奇怪的是我有Joomla!在我的localhost上它工作得很好。 URL重写不适用于Joomla! (它不会删除index.php文件)但它有像localhost / mywebsite / about-us这样的SEF URL。

我提到Joomla!只是为了让您知道SEF URL在我的localhost上运行,与Web应用程序无关。

那我怎么解决这个问题呢? 我尝试的最后一个是这样的:

Options +FollowSymLinks
RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

1 个答案:

答案 0 :(得分:1)

您是否在Apache上为您的应用程序文件夹设置了覆盖允许?如果你已经启用了mod_rewrite,那么应该是这种情况。

AllowOverride All

在.htaccess文件中尝试类似deny from all的内容,查看该文件是否实际上是由Web服务器读取的。如果.htaccess文件中只有deny from all,则应该为任何文件获取禁止消息。这将帮助您了解您的.htaccess文件是否正在由您的Web服务器读取。