【发布时间】:2014-09-16 05:52:46
【问题描述】:
在我网站的根目录.htaccess 文件中,我有这里显示的代码重定向到www 版本,以及如果在目录根目录中隐藏index.php 页面:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC]
RewriteRule ^index\.php$ http://www.example.com/ [R=301,NC,L]
在这个站点中,我有一个位于 http://www.example.com/app/API/ 的 API
我想做两件事:
通过子域
http://api.example.com/执行所有 API 调用(但实际上在原始 URLhttp://www.example.com/app/API/处处理它们)将所有流量从
http://www.example.com/app/API/重定向到http://api.example.com/,同时保持所有查询参数完整。
我要问的问题似乎相当简单,但无论出于何种原因,我都无法弄清楚(即使经过大量搜索)。我可以通过我的托管服务提供商设置子域,但我更愿意使用.htaccess 进行进一步的自定义。
【问题讨论】:
-
www.example.com和api.example.com是否都指向同一个文档根目录? -
目前,没有
.htaccess影响子域。这是否回答你的问题? @JonLin -
另外,我不希望对域的所有调用都转发到子域。只调用
app/API/目录。主网站仍然存在于主 example.com 域根目录中 -
@adamdehaven 如果主域和子域不共享相同的 DocumentRoot,这是不可能的。如果您访问
http://api.example.com/app/API/,它会导致您获得与访问http://www.example.com/app/API/相同的结果吗? -
不,不应该是这样 - 请参阅原始帖子。我只是认为有一种方法可以在浏览器中重写 URL,以便 URL 读取
http://api.example.com/
标签: .htaccess mod-rewrite subdomain