我尝试了解决方案的所有变体,但仍无效。
我在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';
仍然无效。
请帮我解决这个问题。
亲切的问候。
答案 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]
您还可以按照以下讨论进行操作:
并且
答案 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";