在我的网站的根.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/
我想做两件事:
通过子域http://api.example.com/
执行所有API调用(但实际上是在原始网址处理http://www.example.com/app/API/
)
将所有流量从http://www.example.com/app/API/
重定向到http://api.example.com/
,保持所有查询参数。
我所要求的内容似乎相当简单,但无论出于何种原因,我都无法弄明白(即使经过广泛搜索)。我可以通过托管服务提供商设置子域名,但我宁愿使用.htaccess
进行进一步的自定义。
答案 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]