CodeIgniter不适用于Server

时间:2014-12-18 09:25:35

标签: php .htaccess codeigniter

我尝试了解决方案的所有变体,但仍无效。

我在localhost(MAMP)中开发了一些脚本

然后我复制了文件和文件夹,但codeIgniter说The page you requested was not found.

我该如何解决这个问题?

我试过了: - .htaccess修改:

RewriteEngine On
RewriteBase /review/
RewriteCond %{REQUEST_URI} ^system.*
RewriteCond $1 !^(index\.php|images|js|uploads|css|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

配置修改:

$config['base_url'] = 'http://oursite.com/review/';

$config['uri_protocol'] = 'REQUEST_URI';

仍然无效。

请帮我解决这个问题。

亲切的问候。

4 个答案:

答案 0 :(得分:0)

尝试使用代码而不是输入来获取baseurl:在config中添加这些行。

$root = "http://".$_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

$config['base_url']    = "$root";

并且如果您的链接似乎不起作用,请尝试以下其中一个:

$config['uri_protocol'] = 'AUTO'; // This works for most servers.

'自动'默认 - 自动检测

'PATH_INFO'使用PATH_INFO

'QUERY_STRING'使用QUERY_STRING

'REQUEST_URI'使用REQUEST_URI

'ORIG_PATH_INFO'使用ORIG_PATH_INFO

答案 1 :(得分:0)

您的设置是正确的,但在.htaccess文件中,请按以下方式替换所有内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  

然后在它之后写下你自己的规则。

修改

此外,我在我的项目中使用了很多CI,然后我的配置文件通过这个:

<强>的config.php

$config['base_url'] = ''; $config['index_page'] = '';

<强> routes.php文件

$route['default_controller'] = "main";

它适用于所有设置超过.htaccess的服务器和本地人。

请注意,让您的CI在另一个目录/子域中工作,然后再次检查。

答案 2 :(得分:0)

.htaccess因服务器而异。希望它会对你有所帮助:

    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

您还可以按照以下讨论进行操作:

https://www.linkedin.com/groups/Simple-Ticks-remove-indexphp-from-109912.S.5948862618142785540?trk=groups_items_see_more-0-b-ttl

并且

https://www.linkedin.com/groups/Simple-Tricks-config-baseurl-in-109912.S.5948780645684621314?trk=groups_items_see_more-0-b-ttl

答案 3 :(得分:0)

你可以试试这个:

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

配置:$config['base_url'] = 'http://www.oursite.com/review/'; 路线:$route['default_controller'] = "realm";