我看了很多文章并尝试了不同的方法,但它仍然无效。
现在我的网址看起来像mysite.com/index.php/[controller]
。
目标是mysite.com/[controller]
。
在 config.php :
$config['index_page'] = "";
$config['uri_protocol'] = 'REQUEST_URI';
我的 .htaccess 文件包含
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
在我的Apache服务器中也启用了 mod_rewrite 。
还有其他解决方案吗?
答案 0 :(得分:1)
在application/config/config.php
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
在.htaccess
(放置外部应用程序文件夹)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
更新2018-02-27
$config['base_url'] = 'https://stackoverflow.com/'; # Must fill
否则您会收到此错误Codeigniter echoing [::1] instead of localhost
使用此.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
答案 1 :(得分:0)
在配置文件中尝试此操作
$config['base_url'] = '';
$config['server_root'] = $_SERVER['DOCUMENT_ROOT'];
答案 2 :(得分:0)
这个对我来说很好,你可以试试这个
Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
答案 3 :(得分:0)
这对我有用[在 linux操作系统]:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
答案 4 :(得分:0)
在配置文件中使用base_url中的项目URL
$config['base_url'] = 'http://localhost/project';