[英]How to use .htaccess to redirect sub domain to another folder, not URL
[英]How to use .htaccess to alias/redirect subdomain to another domain sub folder
我希望我的用戶去
red.example.com
他們實際看到的是從
blue.example.com/red
是否可以使用.htaccess
? 從本質上來說,這是一個重定向,但我不想在地址欄中更改URL。
編輯
添加虛擬主機信息。
RewriteEngine On
RewriteRule /<none> / [L,R]
<IfDefine USE_PHP_FPM>
<Proxy "unix:/opt/bitnami/php/var/run/wordpress.sock|fcgi://wordpress-fpm" timeout=300>
</Proxy>
</IfDefine>
<Directory "/opt/bitnami/apps/wordpress/htdocs">
AuthType Basic
AuthName Coincurve
AuthUserFile "/opt/bitnami/apache2/wordpress_users"
Require valid-user
Options +MultiViews +FollowSymLinks
AllowOverride None
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
# Require all granted
</IfVersion>
<IfDefine USE_PHP_FPM>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://wordpress-fpm"
</FilesMatch>
</IfDefine>
RewriteEngine On
#RewriteBase /wordpress/
RewriteRule ^index\.php$ - [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Include "/opt/bitnami/apps/wordpress/conf/banner.conf"
</Directory>
Include "/opt/bitnami/apps/wordpress/conf/htaccess.conf"
我在mydomain.com上只有一台實際的服務器。 紅色和藍色子域都都指向該mydomain.com的IP地址。
如果所有子域都指向相同的位置(主域的根),則您可能不需要“重定向”到其他主機名(這將涉及使用mod_proxy和配置反向代理 )。 換句話說, blue.example.com/red
指向與red.example.com/red
相同的red.example.com/red
,因此它成為一個相對簡單的內部重寫 。
(盡管您的虛擬主機配置不完整,但我假設您在某處有一些ServerAlias
指令?)
例如:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^red\.example\.com [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^ /red%{REQUEST_URI} [L]
針對REDIRECT_STATUS
環境變量的檢查是為了確保我們僅重寫來自客戶端的初始請求,即。 不重寫請求,從而避免了重寫循環。 REDIRECT_STATUS
最初為空,並在首次成功重寫后設置為“ 200”。 否則,這將無條件地重寫所有內容,因此如果需要,可以在根/red
目錄中包含/red
子目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.