.htaccess无法正常工作

时间:2013-02-13 07:22:51

标签: apache .htaccess

我已在我的网络服务器(http://sample.org/myproject/)上安装了CodeIgniter项目。

对于CodeIgniters路由规则(例如index.php/controller/methode)我在使用RewriteEngine的myproject文件夹中编写了一个.htaccess-File。此文件的构建如下:

AuthType Basic
AuthUserFile /home/www/myuser/html/myproject/.htpasswd01
AuthName "secured area"
require valid-user
Options -Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  

现在问题我得到了:如果我正常调用页面(http://sample.org/myproject/index.php/somestuff)它工作正常,但目前我只直接调用目录(http://sample.org/myproject/),这只会起作用某些时候。有时它可以工作(在显示此错误的某个时间之后),有时它将无法工作。

这是否与浏览器重新读取.htaccess的时间有关?

1 个答案:

答案 0 :(得分:0)

由于myproject实际上是$DOCUMENT_ROOT下的真实目录,并且您的.htaccess中有RewriteCond %{REQUEST_FILENAME} !-d(表示请求不是针对目录执行)因此您的RewriteRule不是甚至开火。

用以下内容替换现有代码:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php/$0 [NC,L]