Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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主页在Live server上工作_Php_.htaccess_Codeigniter - Fatal编程技术网

Php 仅Codeigniter主页在Live server上工作

Php 仅Codeigniter主页在Live server上工作,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我正在xampp中的localhost上创建一个网站。它可以正常工作,路由也可以正常工作。路径为“localhost/mywebsite” 我把那个网站上传到了live服务器上。路径为“www.mywebsite.com/beta/”。该网站不工作。只有索引页在工作。当我点击任何其他链接时,它会显示“找不到文件” 如有任何建议,将不胜感激 这是我的路线 $route['default_controller'] = 'front/index'; $route['404_override'] = '

我正在xampp中的localhost上创建一个网站。它可以正常工作,路由也可以正常工作。路径为“localhost/mywebsite”

我把那个网站上传到了live服务器上。路径为“www.mywebsite.com/beta/”。该网站不工作。只有索引页在工作。当我点击任何其他链接时,它会显示“找不到文件”

如有任何建议,将不胜感激

这是我的路线

$route['default_controller'] = 'front/index';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

/*admin*/
$route['admin'] = 'user/admin';
$route['admin/login'] = 'user/admin';
$route['admin/logout'] = 'user/logout';
$route['admin/persons'] = 'person';
$route['admin/categories'] = 'category';
$route['admin/games'] = 'game';
$route['admin/login/validate_credentials'] = 'user/validate_credentials';

/*Front End*/
$route['category/(:num)'] = "front/category/$1";
$route['game/(:num)'] = "front/game/$1";
$route['search'] = "front/search";
这是我的config.php

$config['base_url'] = 'http://mywebsite.com/beta/';
$config['index_page'] = '';
还有我的.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 
-更改htaccess代码并替换此代码。
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]
-更改htaccess代码并替换此代码。
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]

将.htaccess更新为如下所示:

RewriteEngine On
RewriteBase /beta

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

让我知道它是否对您有效。

将您的.htaccess更新为如下所示:

RewriteEngine On
RewriteBase /beta

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

让我知道它是否对您有效。

当我尝试在子目录中进行设置时,我遇到了相同的问题。这就是我如何在我的案例中找到解决方案的原因:

第1步: 更新
/beta/.htaccess
,如下所示-

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /beta/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>

当我试图在子目录中设置时,我也遇到了同样的问题。这就是我如何在我的案例中找到解决方案的原因:

第1步: 更新
/beta/.htaccess
,如下所示-

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /beta/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>

仍然未找到文件。仍然未找到文件。听起来您的路径有问题。我建议您查看http服务器访问或错误日志文件以查看实际请求的文件,或者查看浏览器开发控制台并检查其中的请求,结果是一样的。为什么它们在本地主机上工作得很好,而在live server上工作得不好?这是一个问题,您可以按照我上面写的回答。请确保控制器和模型文件名的第一个字母是大写字母,就像您的路径有问题一样。我建议您查看http服务器访问或错误日志文件以查看实际请求的文件,或者查看浏览器开发控制台并检查其中的请求,结果是一样的。为什么它们在本地主机上工作良好,但在live server上却不工作?这是一个问题,您可以通过执行我上面所写的操作来回答。请确保控制器和模型文件名的第一个字母是大写。然后我确定您的.htaccess在您的服务器上不工作。你能检查并确认它是否工作吗?另外,选择除主页以外的任何URL,其中显示“未找到文件”,并尝试在控制器名称之前添加
index.php
,然后再次点击。检查这是否有效?
index.php/front/game/499
有效,而不是
game/499
,这意味着.htaccess无法在您的服务器上工作。请检查是否已启用mod_重写模块?那么我确信你的.htaccess在你的服务器上不工作。你能检查并确认它是否工作吗?另外,选择除主页以外的任何URL,其中显示“未找到文件”,并尝试在控制器名称之前添加
index.php
,然后再次点击。检查这是否有效?
index.php/front/game/499
有效,而不是
game/499
,这意味着.htaccess无法在您的服务器上工作。请检查是否已启用mod_重写模块?