.htaccess重写多个子域

时间:2017-11-21 13:21:53

标签: php .htaccess redirect

我有一台服务器,例如123.123.123.123 它有两个指向它的URL

www.mysite.com和 api.mysite.com

如何让www.mysite.com重定向到123.123.123.123/front 而api.mysite.com将重定向到123.123.123.123/api?

对于www.mysite.com,它不应该在地址栏上显示www.mysite.com/front。

提前致谢!

3 个答案:

答案 0 :(得分:1)

您可以在站点根目录中使用这两个规则.htaccess:

RewriteEngine On

# route www.example.com and example.com
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule !^front/ Front%{REQUEST_URI} [L,NC]

# route api.example.com
RewriteCond %{HTTP_HOST} ^api\.example\.com$ [NC]
RewriteRule !^api/ api%{REQUEST_URI} [L,NC]

RewriteRule !^front/使用否定条件匹配模式,这意味着如果REQUEST_URI不以/front/

开头,则执行此规则

答案 1 :(得分:0)

您的问题的部分解决方案如下:

    RewriteCond %{HTTP_HOST} ^example.com$
    RewriteRule ^$ http://example.com/Front/index.php

答案 2 :(得分:0)

htaccess并不是很好,但我设法使用这些:

RewriteCond %{HTTP_HOST} www.mysite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^(.*)$ front/$1 [L]