【发布时间】:2013-10-31 01:10:40
【问题描述】:
这似乎是一个常见的请求,但我无法找到有关执行此类操作的明确说明。
我想要一个子域来触发我的 CI 安装中的某个控制器。例如:
students.mysite.com :将打开 mysite.com/students(技术上:mysite.com/index.php/students。 控制器: 学生)
teachers.mysite.com :将打开 mysite.com/teachers
在深入遍历时保留子域。例如:
students.mysite.com/help:将打开 mysite.com/students/help(控制器:students() ,方法:help())
students.mysite.com/help/contact: 将打开 mysite.com/students/help/contact(控制器:students(),方法:help(),参数:“联系人”)
students.mysite.com/help/contact/email: 将打开 mysite.com/students/help/contact(控制器:students(),方法:help(),参数:“联系人”,“电子邮件”)
我意识到 something.mysite.com 现在返回一个错误。所以我想:
第 1 步 将允许 anything.mysite.com 返回根目录 (mysite.com/index.php)
第 2 步将读取子域并调用该控制器
第 3 步将读取第一个“/”之后的第一个参数并调用控制器的该方法,并将剩余的 url 部分作为参数传递
我想我真的被 第 1 步难住了。我使用的是共享主机帐户,这是我可以通过 CPanel 执行的操作吗?我尝试为 *.mysite.com 添加一个子域,但没有任何运气(除非我只需要等待更长时间才能进行传播,但我觉得我弄错的可能性更高)。
回到我的家庭 WAMP 安装,我会更改 httpd.conf,对吗?我可以在不修改该文件的情况下实现此效果吗(因为我可能做不到,因为我是使用 webhostinghub.com 共享的)
唷,感谢您的宝贵时间! - 基思
【问题讨论】:
-
您是否为您的域设置了通配符 dns? Apache 配置是它的另一半。您需要将所有 *.domain.com 指向您的网站的 CNAME 或 A 记录。 Google 会在这方面为您提供帮助。
-
感谢您的提示。我刚刚设置了一个值为 mysite.com 的 *.mysite.com CNAME 记录。那会照顾第1步吗?它似乎还没有工作,所以我要让它传播,然后再试一次
-
我无法为您提供代码,但我认为您的 .htaccess 应该能够以您喜欢的方式重写子域
-
你解决了吗?您的问题现在是该特定主题在 Google 中的最高搜索结果。
-
这个视频是为了类似的事情youtu.be/518eRiSOTlY
标签: php apache .htaccess codeigniter cpanel