我正在使用Codeigniter 2.0.3 | Apache 2.2.17 | PHP 5.3.4。
我想要访问'public'文件夹中的所有文件和子文件夹。我已经阅读了Codeigniter wiki中的文章以及google结果中的所有前5页,但没有发现任何有效的内容。
这是文件树:
- application
- public
- css
- style.css
- img
- js
- system
- .htaccess
这是.htaccess我用来从URL中删除'index.php'并尝试授予该文件夹的访问权限:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /CodeIgniter_2.0.3
#Removes access to the system folder by users.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
#Checks to see if the user is attempting to access a valid file,
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Enable access to the images and css folders, and the robots.txt file
RewriteCond $1 !^(index\.php|public|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
该网站正在运行,并且URL中不再需要“index.php”,但最后一个条件应该是允许访问公共文件夹,但它对我不起作用,所以http://localhost/CodeIgniter_2.0.3/public/css/style.css
找不到文件。
在config.php中我有:
$config['base_url'] = 'http://localhost/CodeIgniter_2.0.3/';
$config['index_page'] = '';
请帮忙。 感谢!!!
答案 0 :(得分:0)
根据您当前的结构,您需要将最后RewriteCond
更改为:
RewriteCond $1 !^(index\.php|application\/public|robots\.txt)
因为您的.htaccess
与应用程序文件夹位于同一目录中,并且您的公用文件夹位于应用程序文件夹中,所以您需要将应用程序/公用文件夹明确标记为可访问。