php - 如何重新配置​​从在线 Linux 服务器获取的 CodeIgniter 站点以在本地主机服务器上工作

标签 php linux codeigniter xampp

该网站最初位于 Linux 服务器上,我获得了该网站的副本和 .sql 数据库。

我首先尝试为 XAMPP 重新配置它。

在 CodeIgniter 中,我更改了database.php 文件以具有正确的主机名、用户名、密码和数据库。然后我将 base_url 更改为该站点的 localhost 根 url。

这导致登录页面的 CSS 正确显示,使其看起来就像在线一样。但是,当我尝试使用在线使用的相同用户名和密码登录时,它会将我重定向到 http://localhost/xampp/而不是网站的主页。

当我输入不正确的用户名或密码时,它会给出错误消息,但是当我输入正确的用户名和密码时,它会将我重定向到 XAMPP 页面,这意味着数据库连接正在运行。

我在 ubuntu 虚拟机服务器上尝试了相同类型的操作,它甚至无法识别 base_url 来正确显示 CSS。

什么会导致站点重定向到 XAMPP 页面?如何重新配置​​它以允许我登录主页?我是否必须创建一个全新的网站并将所有代码和文件零碎地传输到其中?如果是这种情况,我需要省略什么?

最佳答案

我采纳了有关 .htaccess 文件的建议,但我没有从实时服务器获取该文件,而是在 .htaccess 文件中使用了以下代码,并将应用程序文件夹中的 .htaccess 文件更改为 CI 的默认语句。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /base_name_of_site/
# If your project is in server root then should be: RewriteBase /
# If project is in folder then it should be: RewriteBase /folder_name/

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

现在可以登录,我现在可以访问和编辑本地服务器上的整个网站。谢谢。

关于php - 如何重新配置​​从在线 Linux 服务器获取的 CodeIgniter 站点以在本地主机服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30313502/

相关文章:

php - 对本地数据库感到困惑

php - 使用 Symfony 5.3 检查 JWT (Firebase) token

javascript - 保护 PHP 脚本 - Shopify

php - anchor() 中的 Javascript 函数在 Codeigniter 中无法正常工作

php - 如何在 codeigniter 中为 group_concat 和 concat 编写查询并替换表列

PHP cUrl - 无法获取大文件

c - libdl 加载的 "plugins"如何引用加载它们的程序中的符号?

c - 查找以字符 X 开头的所有后缀

linux - 无法通过ssh进入用户

javascript - 如何拆分选中的复选框,文本输入值