提前感谢所有帮助,你会给我们。 我现在有点绝望,我不知道该怎么办。我想问题来自我的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
我做错了吗?
提前感谢您的帮助!
答案 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
因此,荣誉勋章被提议给我,我仍然在想我是否应该指出这个愚蠢的错误,我们每个人都曾经历过一次,或者我应该等待现场某处出现的最大错误,然后采取当之无愧的承认。 :)