CodeIgniter URL重写问题

时间:2013-11-14 06:56:58

标签: .htaccess codeigniter url-rewriting

我在codeigniter中创建应用程序,现在上传到GoDaddy服务器但收到404错误。

我的代码就像这样

$config['index_page'] = "index.php?";
$config['uri_protocol'] = "QUERY_STRING";

.htaccess文件是

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]

我正在获得像

这样的价值
http://yourdomain.com/index.php?controller/action/etc

但我需要

http://yourdomain.com/controller/action/etc

请帮忙。

5 个答案:

答案 0 :(得分:0)

试试这个

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule> 

答案 1 :(得分:0)

尝试

$config['index_page'] = "";
$config['uri_protocol'] = "AUTO";

答案 2 :(得分:0)

试试这个......它应该有效。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sgu_portal
RewriteCond $1 ^(application|system|private|logs)
RewriteRule ^(.*)$ index.php/access_denied/$1 [PT,L]
RewriteCond $1 ^(index\.php|css|js|images|img|less|player-skin|robots\.txt|opensearch\.xml|favicon\.ico|assets|forums)

输入你的文件夹CSS,js,images或者其他。如果不是你的css不工作。

RewriteRule ^(.*)$ - [PT,L]
RewriteRule ^(.*)$ index.php/$1 [PT,L]
</IfModule>

和CI Config

$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

答案 3 :(得分:0)

参考这个答案

https://stackoverflow.com/a/16558169/1182195

确保您的服务器配置设置为

1。 启用mod重写

2。 允许在apache中覆盖htaccess

答案 4 :(得分:0)

谢谢大家的回答非常感谢你,但正确答案是这样的 htaccess文件的代码是这样的

Options -Indexes
Options +FollowSymLinks
Options -MultiViews
DirectoryIndex index.php
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [NC,L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
  ErrorDocument 404 index.php
</IfModule>