我在网上搜索了一段时间,找不到以下问题的正确答案:
我有一个codeigniter应用程序的工作.htaccess (index.php删除),它看起来像这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]并且/awstats/.htaccess具有以下规则:
Options +ExecCGI
AddHandler cgi-script pl
DirectoryIndex awstats.pl
AuthUserFile /home/MY_USER/domains/mydomain.com/public_html/awstats/.htpasswd
AuthType Basic
AuthName "AwStats Protection"
<LIMIT GET POST>
require valid-user
</LIMIT> 当我没有使用带有密码保护的awstats时,->一切正常。为awstats启用密码保护后,当我尝试访问mydomain/awstats时,-> CI显示404错误。如何解决这个问题呢?
注意: mydomain.com / MY_USER只是为了举例:-)
发布于 2011-10-19 01:25:44
而不是这样:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]您可以这样做:
RewriteCond $1 !^(index\.php|favicon\.ico|favicon\.png|crossdomain\.xml|robots\.txt|images|css|js|awstats)
RewriteRule ^(.*)$ /index.php/$1 [L]因此,您可以显式地授予对任何不需要通过CI的前端控制器的访问权限。这是一种更安全的技术,但需要您显式地添加每个文件和目录(例如图像、css等)。
https://stackoverflow.com/questions/7794792
复制相似问题