我有一个网络应用程序,我想用jQuery Mobile创建一个移动版本。现有的应用程序是在CodeIgniter中构建的;我将尽可能使用相同的控制器,模型; (特别是模型,因为我无论如何都需要相同的数据,可能需要编写新的控制器)。
我对如何开始感到困惑。我想将我的移动版本放在子域名(m.myhost.tld
)上,但是..因为我的应用程序位于www.myhost.tld
,我不想把它全部复制到另一个文件夹并维护两个,我有点困惑。
我知道我可以使用CodeIgniter中的用户代理库来检测移动浏览器并相应地加载视图;我只是不知道如何使用子域。我是否需要在此处自定义app/config/routes.php
文件,还是可以通过某些.htaccess
魔法修复此问题?我对.htaccess
几乎没有经验。我唯一知道的是如何从CI应用程序中删除我的index.php,这是一个copypasta代码段。
编辑2:我想更多信息。
假设我使用CodeIgniter附带的用户代理库检测移动浏览器。我想将这些浏览器定向到m.myhost.tld
。但是,我想在移动网站上显示的内容来自名为mobile
的控制器,我也可以通过www.myhost.tld/mobile/
访问该控制器;所以我的问题是,是否有办法将像...这样的网址www.myhost.tld/mobile/about
路由到m.myhost.tld/about
。我甚至不确定这是否可行,teehee。还在学习!
如果您能给我任何建议,我将不胜感激。非常感谢!
答案 0 :(得分:1)
如果要在不同的主机中共享相同的文件,则必须在Web服务器中分配站点的文档根文件夹,这是静态文件的说明,但是您可以理解。
浏览器 - >主持人:z.y.xxx [ip.ip.ip.ip] - >网络服务器 - > read filesystem:document root + browser request path
所以如果您的文档根目录是:
/hosting/http/z.y.xxx/htdocs
并且请求是/path-to-static/index.html服务器尝试阅读:
/hosting/http/z.y.xxx/htdocs/path-to-static/index.html
总之,您在Web服务器中创建了新的主机m.mysite.tld,并且您更改了文档根目录www.mysite.tld也可以使用主机别名的指令,例如Apache ServerAlias指令。有很多关于如何配置Web服务器的文档。
您可以使用$_SERVER['HTTP_HOST']
变量处理php中的主机名。
如果您可以指定更多,我可以提供更多帮助。
度过愉快的一天