.htaccess重写/重定向目录到子域

时间:2014-09-15 21:40:28

标签: .htaccess mod-rewrite subdomain

在我的网站的根.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]

在此网站中,我的API位于http://www.example.com/app/API/

我想做两件事:

  1. 通过子域http://api.example.com/执行所有API调用(但实际上是在原始网址处理http://www.example.com/app/API/

  2. 将所有流量从http://www.example.com/app/API/重定向到http://api.example.com/,保持所有查询参数。

  3. 我所要求的内容似乎相当简单,但无论出于何种原因,我都无法弄明白(即使经过广泛搜索)。我可以通过托管服务提供商设置子域名,但我宁愿使用.htaccess进行进一步的自定义。

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteCond %{HTTP_HOST} !^api\. [NC]
RewriteRule ^app/API/(.*)$ http://api.example.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^api\.example\.com$ [NC]
RewriteRule ^(.*)$ /app/API/$1 [L]