代码点火器base_url bugging,或url_rewriting?

时间:2018-04-07 23:37:45

标签: codeigniter url base-url rewriting

提前感谢所有帮助,你会给我们。 我现在有点绝望,我不知道该怎么办。我想问题来自我的base_url,但它也可以来自我的.htaccess,它有url_rewriting? 我有一个适用于localhost的代码点火器项目。

每当我点击链接时,它都会添加“localhost:8888”:

我有一个包含以下网址的网页:http://localhost:8888/my_project/ 当我点击此页面上的链接时,它指向我: http://localhost:8888/localhost:8888/my_project/procedure/student

我不明白为什么它添加了localhost:8888介于两者之间? (如果我手动取消本地主机:8888在网址中,页面正常工作并正确加载)

这是定义我的base_url的常量文件:

define("URL", (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] );
define("SITE_URL", 'http://localhost:8888/my_project/');

这是我的.htaccess:

Options +FollowSymlinks -Indexes
RewriteEngine On
#RewriteBase /

## in case the URL is not an actual FILE
RewriteCond %{REQUEST_FILENAME} !-f

## or an actual directory
RewriteCond %{REQUEST_FILENAME} !-d

## send everything to the index, for MVC
#RewriteRule ^.*$ ./index.php

RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

DirectoryIndex index.php index.html

这也是我的config.php base_url行:

$config['base_url'] = 'http:/localhost:8888/my_project/';

链接在视图中生成如下:id);?>所以应该给出例如localhost:8888 / my_project / teacher / 7但是当我悬停链接时有localhost:8888 / localhost:8888 / my_project / teacher / 7

我做错了吗?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

经过一系列调试(通过comments),结论变成了错误地在配置文件中写入了基本URL。 它应该改为:

$config['base_url'] = 'http:/localhost:8888/my_project/';

$config['base_url'] = 'http://localhost:8888/my_project/';// notice double slash at beginning

因此,荣誉勋章被提议给我,我仍然在想我是否应该指出这个愚蠢的错误,我们每个人都曾经历过一次,或者我应该等待现场某处出现的最大错误,然后采取当之无愧的承认。 :)