我已阅读有关其删除的指南,他们告诉我将其添加到我的htdocs根目录中的.htaccess:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
但是我的网站目录是这样的:htdocs \ mywebsite \
我尝试在htdocs和mywebsite中添加htaccess文件,但没有结果。 我也尝试修改最后一行看起来像
RewriteRule ^(.*)$ mywebsite/index.php/$1 [L]
在htdocs和mywebsite目录中。但是我不知道什么是正确的.htaccess语法或它是如何工作的,所以我真的没想到它会起作用。
我也尝试在codeigniter目录树中的其他地方修改.htaccess文件。
答案 0 :(得分:3)
您是否更改了配置文件中的index_path变量?这是application / config / config.php,版本2.1.3中的第29行
答案 1 :(得分:1)
根目录和网站目录中都需要有一个htaccess文件。他们需要包含相同的内容,除了root中的文件需要更新索引的路径以包含您的网站目录。
Root dir:
RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ yourwebsite/index.php/$1 [QSA,L]
Web目录:
RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [QSA,L]
答案 2 :(得分:0)
确保在虚拟主机条目中有此内容:
<Directory "/path...to directory">
Order allow,deny
Allow from all
Allowoverride all
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
</IfModule>
除了根目录外,您不需要修改任何.htaccess文件。如上所述,请确保在config.php文件中设置了一些内容。