关于redirect的问题
现在我这边代码是放在站点根目录下面的一个子目录里面的,如:site1htaccess把 site1 和 index.php隐藏了
这两个设置都为空
$config['base_url'] = '';
$config['index_page'] = '';
我用 redirect 跳转,如:redirect('/admin/login');
结果给跳到这样的地址了:http://xxx.com/site1/admin/login
但是我是想要的是这样的:http://xxx.com/admin/login
这个问题要怎么解决啊?大家帮个忙咯
redirect( base_url('/admin/login') );
用这种形式即可,我的网站下面的子网站都这么用。
详见www.qddian.com和www.qddian.com/yishengpin
$config['base_url'] = '/';
这样设置可以解决问题,但是这样生成的 site_url 中没有http,域名等那一块。不知道对程序有没有什么影响? 现在我这边代码是放在站点根目录下面的一个子目录里面的,如:site1
htaccess把 site1 和 index.php隐藏了
楼主此描述一点也不详细。 {:soso__3110130392203091378_3:}$config['base_url'] = '';
$config['index_page'] = '';
这里已经可以忽略index.php 了。你site1是文件夹。那你就要配置routes
$route['admin/login'] = "site1/admin/login";
不知楼猪可行否? redirect('http://xxx.com/admin/login'); 用绝对地址吧? 这样的话 CI 就不能自己判断 base_url 了,就要自己设置 base_url 为 http://domain.com/site1/ 叶凡 发表于 2013-4-8 12:24 static/image/common/back.gif
现在我这边代码是放在站点根目录下面的一个子目录里面的,如:site1
htaccess把 site1 和 index.php隐藏 ...
嗯,不好意思,是这样子的,域名:xxx.com
程序实际所在目录:/site1/
入口文件:index.php
原本地址栏中的url是这样子的:http://xxx.com/site1/index.php/admin/
我用htaccess把地址栏中的url改造成了这样子:http://xxx.com/admin/
这个与路由无关,我需要是隐藏 url 中的 site1 和 index.php,已经做好了。
程序其实运行没有任何问题。只是在用redirect的时候。跳转之后 url 中又出现了 site1,这不是我想要的。
Altair 发表于 2013-4-8 12:34 static/image/common/back.gif
redirect('http://xxx.com/admin/login'); 用绝对地址吧?
我希望可以智能一些,这样写的话,程序中很多地方都会出现这个域名。事实上在实际使用中那个域名应该是不确定的。至少我在本机测试的时候使用的域名(修改host得到的)就和真实域名不一样。我不可能每次都全部替换一下。 Hex 发表于 2013-4-8 13:06 static/image/common/back.gif
这样的话 CI 就不能自己判断 base_url 了,就要自己设置 base_url 为 http://domain.com/site1/ ...
当前情况下,我不改动config中的$config['base_url'],base_url结果已经是 http://xxx.com/site1/了,就是因为base_url是这样子的,所以在 redirect('/admin/login') 的时候产生的 url 是 http://xxx.com/site1/admin/login 但我不想要 site1 。所以 $config['base_url'] 设成 http://xxx.com 是没有问题的。
但是不知道有没有方法可以不用写得这么死。因为我现在是在写通用网站后台。那就意味着每应用一个网站都要改动这个 我晕了,光想到怎么设置怎么设置的,直接这样搞定:
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/';