从实时服务器复制的.htaccess文件部分不在本地工作

时间:2013-05-15 18:06:26

标签: .htaccess

我刚将所有网络文件复制到我的电脑上,包括.htaccess文件。现在我在XAMPP上运行它。我遇到了这个问题,这个.htaccess文件:

DirectoryIndex otherindex.php //<<--this line works, it changes my index.

//but the rest is not: I need to redirecting all request (except existing dir/file) to index.php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]

我不知道为什么它可以在实时服务器上运行,但不能在我的XAMPP上运行。我怎样才能让它兼得?有什么帮助吗?

更新 我检查了我的httpd.conf并取消注释:

LoadModule ssl_module modules/mod_rewrite.so

注意:我将默认的htdocs文件夹移动到其他位置。

2 个答案:

答案 0 :(得分:0)

我要做的第一件事就是确保你在Apache中启用了重写模块。接下来我会检查你是否配置了Apache以允许在.htaccess文件中重写条件。出于安全原因,默认情况下会阻止大多数htaccess功能。

要检查第二个问题,您可以在httpd.conf搜索AllowOverride None。如果找到,请将其更改为AllowOverride All。您也可以在站点的.conf文件中启用它。

答案 1 :(得分:0)

根据您的评论:RewriteBase指向root,规则映射到root/index.php,我猜这不是意图。

尝试改为:

RewriteRule ^(.*)$ /mysite/index.php/$1 [QSA,L]