我的htaccess文件不断出现404错误

时间:2014-03-29 07:14:36

标签: php apache .htaccess codeigniter mod-rewrite

嘿伙计们,我不是要抓住这些,我正努力让这个工作。

我只是不断收到404错误,有人可以帮忙吗?

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

这是我到目前为止所拥有的。我正在使用CodeIgniter框架。

8 个答案:

答案 0 :(得分:0)

请你在htaccess文件中试试这段代码..

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

这个在我的实例中工作得很好......

答案 1 :(得分:0)

这个可以在goDady

上使用我的网站
<IfModule mod_rewrite.c>

    Options +FollowSymLinks
    RewriteEngine on

    # This one is important for goDaddy
    RewriteBase /


    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    # or you can use like this also 
    RewriteRule ^(.*)$ index.php?url=$1 [L]

</IfModule>

我的文件夹结构就像这样

/
|
 -->mysite
       |
        -->system (d)
       |
        -->application (d)
       |
        -->.htaccess (f)
       |
        -->index.php (f)     

并在 config.php

$config['index_page'] = 'index.php';
routes.php

中的

$route['default_controller'] = "home"; // whatever default controller

有时候GoDaddy需要很少的时间才能获得更新.htaccess,所以请为每次尝试留出一些时间。不要忘记清除浏览器缓存。 Firefox中的Ctrl + F5无需缓存即可刷新。

答案 2 :(得分:0)

This post有一个聪明的答案,可以在你无法访问RewriteLog的服务器上调试htaccess中的重写规则(我假设你没有)。

答案 3 :(得分:0)

试试此代码

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1

答案 4 :(得分:0)

试试这段代码,它适合我。我在我的Windows PC以及我的UBUNTU和CentOS Server上的XAMPP,WAMP中测试过它。我的codeigniter版本是(2.1.0)

RewriteEngine on

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

答案 5 :(得分:0)

将此用作.htaccess文件并检查mod_rewrite是否已启用

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

答案 6 :(得分:0)

试试这个

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

config&gt;的config.php

$config['base_url'] = '';

$config['index_page'] = '';

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

答案 7 :(得分:0)

try this.

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