使用.htaccess文件删除CodeIgniter中的index.php对我不起作用。我尝试了以下代码,但是没有工作。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]
</IfModule>
我试过这个http://firstcode.info/codeigniter-removing-index-php-from-url/。但不工作。但它在我的localhost工作。我还编辑了httpd.config文件。但没有用。 请帮帮我。
答案 0 :(得分:1)
第1步
打开文件夹“application/config”
并打开文件“config.php“.
查找并替换config.php file.
找到以下代码
$config['index_page'] = "index.php"
replace with the below code
$config['index_page'] = "
第2步
在.htaccess文件中写下以下代码
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
第3步
“application/config/config.php“,
然后查找并替换以下代码
找到以下代码
$config['uri_protocol'] = "AUTO"
replace with the below code
$config['uri_protocol'] = "REQUEST_URI"
答案 1 :(得分:1)
您提到的代码是正确的。
你必须修改apache2.conf(/etc/apache2/apache2.conf ---我的服务器路径)检查你的路径。
找到这个罪魁祸首"AllowOverride None"
和/var/www/
或/var/www/html
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
更新到
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
别忘了sudo service apache2 restart
答案 2 :(得分:0)
试试此代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
在我的 config.php 文件中,我有以下设置。
$config['index_page'] = "";
$config['uri_protocol'] = "PATH_INFO";
答案 3 :(得分:0)
请尝试在config.php中更改基本URL,如果使用localhost或domainname.com
$config['base_url'] = 'http://localhost/'; // localhost
OR
$config['base_url'] = 'http://domainname.com/'; // domainname.com
答案 4 :(得分:0)
添加.htacess
RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$
从$config['index_page']
中的config.php
删除“ index.php”(保留空白值)
并修复项目文件夹的权限。