【发布时间】:2016-11-05 07:37:44
【问题描述】:
我刚拿到一个新的 CodeIgniter 项目,我认为我有路由问题或 .htaccess 问题,情况是这样的:
该项目位于这样的域中:www.example.com,当然我需要在我的 /var/www/html/project 文件夹中复制它,因为我不想直接在生产中工作服务器。
所以我下载了它并设法让前端部分从我的 localhost/project 文件夹中完美运行(实际上我最终使用了 ip 地址,因为如果我使用 localhost 它会因某种原因转到 www.localhost.com/project尽管我编辑了 htacces 文件,但我可以使用 ip)。
现在后台部分发生了一件非常奇怪的事情,我的意思是,如果我输入 127.0.0.1/project/admin 它会变成 127.0.0.1/project/admin/admin/login 而不是 /admin/login .
而且所有css和js文件的链接都很奇怪,不知道哪里来的这种奇怪。
这里有一些图片:
正如您在上图中的代码中看到的那样,它看起来不错,这是文件夹 css/admin.css 的路径,这是正确的,但是如果您查看控制台,您可以看到它尝试加载 admin/ css/admin.css 哪个当然不行。
现在,当我在地址栏中输入:1270.0.0.1/project/admin 时,它会转到 127.0.0.1/admin/admin/ login,当然它会转到 404,但如果我指定:127.0.0.1/project /admin/login 会加载您在上图中看到的内容。
下面我将放置配置文件中的路线和东西:
路线:
$route['default_controller'] = "home";
$route['scaffolding_trigger'] = "";
//variables
$lang = "([a-zA-Z]{2}/)?";
$index_lang = "([a-zA-Z]{2}/?)?";
//admin
$route["admin"] = "admin";
$route["admin/(.*)"] = "admin/$1";
From the config:
$config['base_url'] = "";
$config['admin_url'] = $config['base_url']."admin/";
$config['base_path'] = $_SERVER['DOCUMENT_ROOT']."/project/";
/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = "index.php";
【问题讨论】:
标签: php .htaccess codeigniter routes