谢谢你们帮了我大忙。我现在有点绝望了,我不知道该怎么办。我想问题可能来自于我的base_url,但也可能来自我的.htaccess,它有url_rewriting吗?我有一个在本地主机上工作的代码点火器项目。
每当我点击一个链接,它就会添加一个"localhost:8888“:
我有一个包含以下url:project/的页面,当我单击该页面上的链接时,它将指向:project/procedure/student
我不明白为什么它增加了本地主机:8888之间?(如果我手动删除url中的localhost: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/;?>/7,但是当我将链接悬停时,会出现;?>。
我做错什么了吗?
提前感谢您的帮助!
发布于 2018-04-13 13:37:41
经过一系列的调试(通过comments),得出的结论是错误地编写了配置文件中的基url。应将其改为:
$config['base_url'] = 'http:/localhost:8888/my_project/';至
$config['base_url'] = 'http://localhost:8888/my_project/';// notice double slash at beginning因此,荣誉勋章是向我提出的,我仍然在想,我是否应该认为它指出了我们每个人都曾经历过的这个愚蠢的错误,或者我应该在某个地方等待一些最大的错误,然后接受这一应得的承认。:)
https://stackoverflow.com/questions/49713020
复制相似问题