我使用codeigniter作为主域上的主要安装。我创建了一个子域名和一个名为live的文件夹,例如live.domain.com映射到public / live。但是在公开场合我使用codeigniter。
我现在拥有动态codeigniter网址:
http://domain.com/api/
我要映射到我的子域名:
https://live.domain.com
所以去:
https://live.domain.com/api/functioname
将使用脚本:
http://domain.com/api/apifunctioname
可能:
http://domain.com/api/apifunctioname/parameter1/parameter
所有内容都在同一台服务器上,因此不需要重定向。
任何人都对使用哪些重写规则有任何想法?
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^live\.domain\.com [NC]
RewriteRule (.+)$ "http://domain.com/api/$1" [L]
上述内容非常适合作为重写但重定向到http://domain.com/api/functionname而不是我希望它路由;所以当去:
https://live.domain.com/api/functioname
它保留在该URL但使用
的脚本http://domain.com/api/functionname
非常感谢,
冰
答案 0 :(得分:10)
如下所示:
RewriteEngine On RewriteCond %{HTTP_HOST} ^live\.domain\.com$ [NC] RewriteRule (.+)$ "https://domain.com/api/$1" [L,P]
答案 1 :(得分:4)
只需添加index.php,见下文
RewriteEngine On
RewriteCond %{HTTP_HOST} ^live\.domain\.com$ [NC]
RewriteRule (.+)$ "https://domain.com/index.php/api/$1" [L,P]