它无效的东西,我在我的routes.php文件中有这个
$route['default_controller'] = 'books';
$route['404_override'] = '';
$route['translate_uri_dashes'] = TRUE;
$route['cities']['get'] = 'cities/index';
$route['cities/(:num)']['get'] = 'cities/find/$1';
$route['cities']['post'] = 'cities/index';
$route['cities/(:num)']['put'] = 'cities/index/$1';
$route['cities/(:num)']['delete'] = 'cities/index/$1';
和我的.htaccess一样
Options FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
这里的问题是,当我去googleChrome并输入这样的网址:.... www.domain.com.mx/project-server /
它将我发送给默认控制器,它是书籍,或欢迎,或任何地方。 但是当我想在我的网址上输入这样的
时... www.domain.com.mx/project-server/books 它看起来像这样的错误: 在此服务器上找不到请求的URL / project-server / cities。
这是我在github的项目 https://github.com/cmurra/project-server
答案 0 :(得分:0)
将您的htaccess更改为此
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /<YOUR_ROOT_FOLDER>
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$l [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 / index.php
</IfModule>
修改强>
为了澄清,我认为问题是codeigniter正在寻找index.php
www.domain.com.mx/project-server/index.php/books
或
www.domain.com.mx/index.php/project-server/books
这是其中之一
答案 1 :(得分:0)
您也可以查看配置
$route['translate_uri_dashes'] = TRUE;
尝试将其设为FALSE(您的网址domain.com.mx/project-server/books )
https://www.codeigniter.com/userguide3/general/routing.html