【问题标题】:Remove url segment删除网址段
【发布时间】:2013-04-07 03:38:43
【问题描述】:

我正在使用 codeigniter Tank_auth 库,我想从所有 url 中删除“auth”部分。

http://mysite.dev/auth/login

http://mysite.dev/login

【问题讨论】:

  • Codeigniter 有路由 - ellislab.com/codeigniter/user-guide/general/routing.html 检查它。在那里您可以将登录设置为等于 auth/login
  • 我知道,但是图书馆有它自己的链接和重定向,前面设置了“auth”,尝试全部更改它们很痛苦。我只想要一个重写规则,以便它可以自动完成。
  • 如果您的脚本链接指向 auth/login,那么您必须更改它们。如果您使用@complex857 路线,它会正常工作..
  • @FlorianShena,仅 tjat 只能反过来工作,从 /login 重定向到 /auth/login
  • @FlorianShena 顺便说一下,这个 Tank_auth 最近一次更新是在 2 年前。在使用它之前,请确保它是当前 CI 版本的最新版本。

标签: php codeigniter mod-rewrite


【解决方案1】:

使用routes configuration,将类似的内容添加到application/config/routes.php

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

设置完成后,您可以让网络服务器从旧网址重定向用户,如下所示:

RewriteRule ^auth/login http://%{SERVER_NAME}/login [L,R=302]

这会将旧的 url 请求重定向到新处理的 /login,您可能希望在规则的后面部分处理 https:// 或子目录。

整个设置似乎有点骇人听闻,更改生成的 url 似乎是一个更好的主意。

【讨论】:

  • @FlorianShena,对不起,我想我一开始没抓住重点。这现在应该可以工作了(在我的测试环境中似乎没问题)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 2015-09-05
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
相关资源
最近更新 更多