2016-08-16 159 views
0

我是codeigniter的新手,我正在开发一个在此框架上完成的项目。当我尝试访问诸如“mysite.com/about”之类的URL时,它给了我一个错误 404 Not found, 我在wamp和live主机上尝试了很多.htaccess文件,但结果是一样的。 我可以通过使用“mysite.com/index.php/about”访问这些文件,但我想访问这个“mysite.com/about”这不仅是关于页面,而是所有非常非常非常页面,我尝试访问像这样使用“mysite.com/contact-us” 。我该如何解决这个问题?Codeigniter子域404未找到

+0

你有名字'控制器约??' – devpro

+0

只是一个快速的检查有你命名你的控制器文件和类像这里所说的名称http://www.codeigniter.com/user_guide/general/controllers。html#let-s-try-it-hello-world – user4419336

+2

添加一些代码,这应该标记为不清楚 –

回答

1

写这样的代码在你的.htaccess文件,并在rewrite_module WAMP服务器点击

<IfModule mod_rewrite.c> 

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

</IfModule> 
+0

我试过这个我应该放在哪里.htaccess文件在我当前的文件夹index.php中或在一个文件夹中的wamp设置? –

0

默认情况下,笨将调用控制器,除非在所述第二URI段提供了一种方法,该指数()方法将被载入。

如果指数()方法不存在,它会404

这样做是为了在你的应用程序/配置/ routes.php文件文件中添加一行的另一种方法。如:

$route['about'] = 'main/about'; 

这意味着,这里的URL匹配/ 将映射到主/约

是所述控制器和是内,该方法的请求例如。

查看文档的这一部分进行更详细的解释 https://www.codeigniter.com/userguide3/general/routing.html

希望这有助于

+0

这已经改变了 $ route ['about'] ='about/index/$ 1'; $ route ['dorms-rooms'] ='dorms_rooms/index/$ 1'; 这样子。这不仅适用于页面,而且适用于所有页面,我试图访问这个“mysite/about” –

+0

你有关于控制器的index()方法吗? – charj

+0

查看'hello world'的例子在这里.. https://www.codeigniter.com/userguide3/general/controllers.html – charj

0

请确保您有一个名为类为您的控制器,控制器文件名。然后尝试访问该页面,如下面的代码所示。

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
 

 
class Pages extends CI_Controller { 
 
    
 
\t function about() 
 
\t { 
 

 
     $data['title'] = 'About us Page'; 
 
     $this->load->view('about', $data); //about is in views 
 
    \t } 
 

 
     } 
 

 
?>

文件名应该在这种情况下pages.php。

要访问此链接中的关于页面类型,请访问mysite.com/index.php?/controllerfolder/pages/about。

如果你想要干净的网址并删除index.php?编辑你的htaccess。使用此链接了解如何编辑您的htaccess https://www.formget.com/codeigniter-htaccess-remove-index-php/

希望这是有帮助的。由于

+0

你不需要关闭控制器'?>' – user4419336