首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter -获取404未找到错误

问Codeigniter -获取404未找到错误
EN

Stack Overflow用户
提问于 2017-04-08 01:41:41
回答 9查看 14K关注 0票数 11

我们在godaddy上有两个托管软件包。我们的live网站使用以下.htaccess文件运行良好。无需在url中使用index.php即可访问网站。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L] 

我们在其他主机上使用了相同的htaccess文件和相同的代码。我们只是想让生产和开发实例分离。但是在其他主机上使用相同的代码和htaccess文件,网站显示404页面没有找到错误,但网站在url中使用index.php运行良好。

我们在两个服务器上都有相同的php版本。只是想知道问题出在哪里?

EN

回答 9

Stack Overflow用户

发布于 2017-04-10 17:00:58

当我将100%的工作代码转移到Debian专用服务器上时,我也遇到了类似的问题。经过3个小时的研究,我发现为什么htaccess文件不是working.You需要允许在Apache配置中覆盖htaccess的原因。

以下是步骤。

第1步:

将此添加到htaccess文件中

代码语言:javascript
复制
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

第2步:

删除codeigniter配置中的index.php

代码语言:javascript
复制
$config['index_page'] = '';

第3步:

允许覆盖Apache配置中的htaccess (命令)

代码语言:javascript
复制
sudo nano /etc/apache2/apache2.conf

并编辑文件&更改为

代码语言:javascript
复制
AllowOverride All

对于www文件夹

第4步:

重新启动Apache (命令)

代码语言:javascript
复制
sudo /etc/init.d/apache2 restart

在apache2.conf文件中进行任何更改之前,请确保备份该文件。如果你正在使用Debian服务器,你可以避免使用sudo命令。我相信您知道如何使用像putty这样的ssh客户端软件连接到您的服务器。如果此方法对您不起作用,请在下面进行评论。

票数 12
EN

Stack Overflow用户

发布于 2017-04-15 03:01:43

请遵循以下内容

  • 在public_html/Project根目录中创建一个新的.htaccess文件
  • 粘贴以下代码

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

  • 可选

如果您可以在命令行上使用命令ssh username@ip_address通过ssh进入服务器,那么无论是Linux终端还是Putty

username是由GoDaddy提供给您的,您也可以使用root

ip_address将是您主机的公共IP,您可以在主机面板中找到它

运行命令sudo a2dissite 000-default

该命令禁用处理请求的默认apache配置

祝你好运!

票数 3
EN

Stack Overflow用户

发布于 2017-04-11 15:22:28

你可以用这个。这对我在godaddy托管中是有效的。

代码语言:javascript
复制
RewriteEngine On 
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43284147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档