CodeIgniter本地链接重复异常:base_url还是URL重写问题?
兄弟,我之前也碰到过这个糟心的问题!咱们一步步来排查解决:
解决CodeIgniter本地链接重复localhost:8888的问题
检查base_url配置
先打开application/config/config.php,找到$config['base_url']这一行,务必把它设置成完整且正确的地址:$config['base_url'] = 'http://localhost:8888/my_project/';别留空、别只写
localhost:8888,必须带上http://协议头和项目目录,不然CodeIgniter生成链接时会乱拼接。确认.htaccess文件的规则
如果你的项目用了URL重写(去掉index.php),.htaccess的配置也可能出问题。把项目根目录下的.htaccess改成下面这样:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]另外别忘了确认Apache服务器已经开启了
mod_rewrite模块,不然这个文件根本不起作用。规范页面链接的写法
页面里的链接一定要用CodeIgniter自带的site_url()或者base_url()函数生成,别硬写URL:
错误示例:<a href="/controller/method">点击跳转</a>正确示例:
<a href="<?php echo site_url('controller/method'); ?>">点击跳转</a>用框架函数生成的链接会自动基于你配置的base_url拼接,不会出现重复域名的情况。
清空缓存+重启服务器
有时候浏览器缓存了旧配置,或者服务器没加载新的设置也会出问题。按Ctrl+Shift+Delete清空浏览器缓存,再重启本地服务器(比如XAMPP/WAMP),重新访问项目试试。
按这几步操作下来,应该就能解决链接重复localhost的问题了!
内容的提问来源于stack exchange,提问作者user1849661
相关产品推荐
相关产品推荐

