我正在开发一个基于Ubuntu& amp;的应用程序。 Apache2&笨
我有一个名为Site
的控制器
class Site extends CI_Controller {
public function view($page = 'home')
{
$this->load->view('site/'.$page, $data);
}
}
<{1>} application/views/site
我有home.php
&amp; about.php
localhost/index.php/about
效果很好
但是localhost/about
得到了
Not Found,The requested URL /about was not found on this server.
我已经
了mod_rewrite
并AllowOverride All
。$config['index_page'] = '';
中application/config/config.php
醇>
我还设置了路线
$route['default_controller'] = "site/view";
$route['404_override'] = '';
$route['(:any)'] = "site/view/$1";
这是我的.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
<Files "index.php">
AcceptPathInfo On
</Files>
答案 0 :(得分:0)
这是我正在使用的.htaccess(在你身上,但应该是可以互换的):
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
几乎与你的相同
答案 1 :(得分:0)
尝试按照此页面关于codeignitor pretty urls。你的规则看起来是正确的,但我对正则表达式很糟糕。
要研究的一些事情是使用phpinfo();检查mod_rewrite是否可用。此链接中的第三步也讨论了使用a2enmod启用mod_rewrite。并确保重新启动Apache。
答案 2 :(得分:0)
来自我的codeigniter网站。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>