簡體   English   中英

如何使用.htaccess別名/重定向子域到另一個域子文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM