1

我正在使用CodeIgniter构建我的第一个 Web 应用程序。出于演示目的,用户可以通过简单地使用他们的 Facebook 用户名作为参数来预览他们的网站(使用来自 Graph API 的公共数据)。所以他们使用以下方式访问他们的数据:

myurl.com/controller/function/**username**

但是,将来我希望用户能够使用他们的自定义域来查看类似的页面。

我已经阅读了有关该主题的内容,但它们似乎并不是一个公认的解决方案。有人说我需要使用mod_rewritein .htaccess,有人建议使用virtual hosts,有人提到玩$_SERVER请求重定向用户。似乎有很多建议,但帮助决定的例子并不多。

我很高兴手动设置每个域(即通过手动编辑 .htaccess),但我仍然希望能够使用单个 CodeIgniter 安装。

那么,如何将多个 URL/自定义域指向 CodeIgniter URL,以及存在哪些安全隐患?

可能的相关链接

4

1 回答 1

0

你在说什么版本的 CodeIgniter?

老实说,我可能会走虚拟主机路线。你可以尝试设置一个通配符虚拟主机,这样如果你的服务器上没有设置被调用的域,它将默认为 CodeIgniter 应用程序。

这将是动态的,因为您所做的只是为您的客户端域设置 DNS 以指向您的服务器,并且它们都将获得 CI 应用程序的一个实例。不过,这并不安全。

我建议在主 CodeIgniter 应用程序启动之前将所有域发送到 CI 函数。然后,该中介将对数据库表进行一些查找,以查看被调用的域是否是允许的域。如果没有重定向,则加载主 CI 应用程序。

这应该适用于 CI 2.x,因为它可以自动检测域,因此您不需要在配置文件中进行硬编码。

对于 CI 1.6.x,您必须将应用程序 URL 硬编码到配置文件中。如果这是您的版本,您可能需要升级或修改应用程序。

HTH :)

于 2011-10-07T10:53:47.457 回答