Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter不';不能在服务器上工作_Php_.htaccess_Codeigniter - Fatal编程技术网

Php CodeIgniter不';不能在服务器上工作

Php CodeIgniter不';不能在服务器上工作,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我尝试了各种解决方案,但仍然不起作用 我在本地主机(MAMP)中开发了一些脚本 然后我复制了文件和文件夹,但是codeIgniter说没有找到您请求的页面。 我怎样才能解决这个问题 我试过: -.htaccess修改: RewriteEngine On RewriteBase /review/ RewriteCond %{REQUEST_URI} ^system.* RewriteCond $1 !^(index\.php|images|js|uploads|css|robots\.txt) R

我尝试了各种解决方案,但仍然不起作用

我在本地主机(MAMP)中开发了一些脚本

然后我复制了文件和文件夹,但是codeIgniter说没有找到您请求的页面。

我怎样才能解决这个问题

我试过: -.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';
配置修改:

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';
还是不行

请帮我解决这个问题


亲切问候。

尝试使用代码获取baseurl,而不是键入:在配置中添加这些行

$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.
“自动”默认值-自动检测

“路径信息”使用路径信息

“查询字符串”使用查询字符串

“请求URI”使用请求URI


“原始路径信息”使用原始路径信息

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

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  
然后写下你自己的规则

编辑

此外,我在项目中也经常使用CI,然后我的配置文件会经历以下过程:

config.php

$config['base\u url']='';
$config['index_page']=''

routes.php

$route['default\u controller']=“main”

它将在具有上述
.htaccess
设置的所有服务器和本地服务器中工作


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

.htaccess因服务器而异。希望它能帮助您:

    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
您还可以进行以下讨论:

您可以尝试以下方法:

Htaccess:

重新启动发动机
重写基础/审查/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]

配置:
$config['base\u url']='http://www.oursite.com/review/';

路由:
$route['default\u controller']=“realm”

如果没有.htaccess规则,它是否可以工作?您试图访问的url是什么?不,没有.htaccess它也不能工作..您在routes.php中设置了默认控制器吗?是的,我设置了默认控制器..您的服务器可能是windows服务器吗?我遇到过这样一个问题,控制器文件夹有大写字母(比如Admin),它们被引用时没有大写字母(比如Admin)。它不起作用。我想这与htaccess无关,因为我必须使用
index.php/controller/function
查看页面,我看不到。那么您的问题可能是服务器配置。您必须在服务器中允许.htaccess。为此,请找到您的服务器配置文件并允许覆盖。然后只访问.htaccess文件。我也使用wordpress,我没有在服务器上做任何更改。我想它在没有配置的情况下可以工作。请参考并检查您的。您的项目文件夹名称上有空格吗?