2017-05-24 360 views
0

在我的服务器上托管codeigniter网站时,第一页显示正常,其他链接显示错误,如下所示。在此服务器上找不到请求的URL

未找到

所请求的网址/网站/ ourservices此服务器上未找到。

此外,在尝试 使用ErrorDocument来处理请求时遇到404未找到错误。

如何排序?我是一名初学者。

+0

您的网络服务器可能被错误地配置为处理URL重写。 – thepieterdc

回答

0

这些行添加到的.htaccess:(基于codeigniter urls docs

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

你有Site.php控制器在/application/controllers文件夹?

或者,您是否有指向现有控制器/功能的路线?

下列任一两种方法之一:

  1. 创建一个控制器,并将其命名为/application/controller/Site.php。您可以复制Welcome.php控制器以快速创建文件。然后将类的名称更改为Site而不是Welcome。现在,添加在里面的功能,并命名为public function ourservices()

- 或 -

  • 转到您的/application/config/routes.php文件,并在里面添加路由检查“网站/ ourservices “并将其指向现有控制器中的某个功能。即$route['site/ourservices'] = 'Welcome/ourservices';,只要您在/application/controllers/Welcome.php控制器中具有称为public function ourservices()的功能即可。
  • 在你的控制器中新创建的函数,调用相应的视图:$this->load->view('location/of/view/file')这将尝试加载现有文件/application/views/location/of/view/file.php。确保这个文件存在。

    0

    添加这些线在你的.htaccess(项目根目录):

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

    RewriteBase/your-site-directory(如果不是apache默认的) –

    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] 
    ErrorDocument 404 index.php 
    
    相关问题