404 - 找不到文件或目录。您要查找的资源可能已被删除,名称已更改或暂时不可用

时间:2016-01-29 06:55:47

标签: php codeigniter

我已经开发了一个关于codeigniter一个php框架的项目。它在xampp正在运行的本地主机上完美运行。我已将整个项目上传到" wwwroot"文件夹,我只能得到我的开头页面。但是,当我尝试点击任何链接时,我得到:

HTTP错误404.0 - 未找到您要查找的资源已被删除,名称已更改或暂时不可用..

这是我的网站链接: 链接:http://www.iimkondigre.in/ 问题链接:http://www.iimkondigre.in/course_archive

是我的.htaccess文件:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|fonts|prototype|robots\.txt|favicon\.ico|webservices)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

3 个答案:

答案 0 :(得分:0)

试一试。

打开config.php并执行以下替换

$config['index_page'] = "index.php"
to
$config['index_page'] = ""

在某些情况下,uri_protocol的默认设置无法正常运行。 只需替换

$config['uri_protocol'] ="AUTO"

by

$config['uri_protocol'] = "REQUEST_URI"
  

的.htaccess

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

对于Windows服务器
  Web.config档案

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="MyRule"> 
                    <match url="^(.*)$" /> 
                    <conditions> 
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
                    </conditions> 
                    <action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" /> 
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration> 

答案 1 :(得分:0)

我遇到的唯一解决方案是取代

<a href="<?php echo base_url("abc"); ?>">click here</a>

<a href="<?php echo site_url("abc"); ?>">click here</a>

答案 2 :(得分:0)

如上所述,提到...... 只需要更改“.htaccess”代码,如下所示

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

并创建一个名为“web.config”的文件,并将其保存在根目录中,这些是Windows服务器设置。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="MyRule"> 
                    <match url="^(.*)$" /> 
                    <conditions> 
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
                    </conditions> 
                    <action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" /> 
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>