Codeigniter路由不重定向

时间:2012-09-13 23:34:41

标签: codeigniter-2 routes

我正在使用Tank_auth来处理注册,登录等。我的CI位于我的域根目录的子文件夹中,例如www.domain.com/account /

一个例子:

登录控制器就是这样 auth / login 所以我的网址是 www.domain.com/account/auth/login

我想将 www.domain.com/account/auth/login 更改为 www.domain.com/account/login ,所以在我的routes.php配置中文件我添加了这一行:

$route['login'] = 'auth/login';

现在我希望当我访问 www.domain.com/account/auth/login 时,我会被带到 www.domain.com/account/login 。如果我访问 www.domain.com/account/login ,我会保留在该网址上,并且页面应该正确加载。

相反,当我访问 www.domain.com/account/auth/login 时,我会看到登录页面,当我访问 www.domain.com/account/login 时我被重定向到 www.domain.com/account/auth/login

这种行为似乎与文档描述的内容以及SO上的其他内容相反。我已经尝试交换 $ route 变量的键和值,但这只会导致上面两个URL的404s。

有人能指出我正确的方向吗?我在这里做错了什么?

由于

[编辑] - htaccess的内容

RewriteEngine on

# remove index.php from url
RewriteCond $1 !^(index\.php|img|js|css|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /account/index.php/$1 [L]

# redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

0 个答案:

没有答案