【问题标题】:Configuring Codeigniter with Tank Auth使用 Tank Auth 配置 Codeigniter
【发布时间】:2012-02-04 01:09:21
【问题描述】:

我的 CI 配置中缺少一个“/”,这是 Tank auth 视图文件所期望的,我无法弄清楚。我希望你能!

这里有一些细节: $config['base_url'] = 'http://localhost/CI/';

我没有设置 .htaccess(所以我的 URI 中仍然有 index.php)

当 Tank auth 加载其中一个视图文件时,第一行如下: <?php echo form_open($this->uri->uri_string()); ?>

生成的 URI 无法加载,因为它读取为“http://localhost/CI/index.php?auth/register 而不是 http://localhost/CI/index.php/auth/register

但是,如果我将其修改为: <?php echo form_open("/".$this->uri->uri_string()); ?> 一切都很好。但现在这就是它的工作方式!我错过了什么?

谢谢!

【问题讨论】:

  • 那么修改后的版本返回什么?它是否为操作返回正确的 uri?为什么不能只使用“/auth/register”?
  • 一旦我修改了 tank auth 文件,它似乎工作正常。似乎该库无需修改即可适用于其他所有人,所以我怀疑我自己的设置。
  • 啊,也许检查一下您的主配置文件中是否有查询字符串?我记得有一个类似的设置......另外,我记得如果它不处理安全问题,我必须稍微修改一下 tank auth quiet 以使其顺利运行(尽管我使用的是 .htaccess) (并且不会改变)图书馆我认为没有理由不这样做,即使感觉很奇怪。
  • 哦,好的,我再看看配置文件。谢谢!

标签: codeigniter tankauth


【解决方案1】:

为什么不直接使用 .htaccess 删除 index.php?这将解决问题并为您提供更清晰的 URL。

这不是我在本地主机上安装 Tank Auth 时使用的重写。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /~Steve/_sandbox/tank_auth/index.php/$1 [L]

ErrorDocument 404 /index.php

【讨论】:

  • 我会试试这个。非常感谢!
  • 谢谢@Prefontaine。这个答案对我在重写 url 时遇到的长期怪异问题有很大帮助。
猜你喜欢
  • 2011-11-06
  • 1970-01-01
  • 2011-04-24
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 2014-03-26
相关资源
最近更新 更多