【问题标题】:.htaccess mod_rewrite on specific host.htaccess mod_rewrite 在特定主机上
【发布时间】:2025-12-03 16:30:01
【问题描述】:


这只是一个简单的问题,如果之前有人问过这个问题,我深表歉意,但是我对 Apache 不是很好。

我有一个网址:http://beta.example.com
我希望 Apache 将其重写为:
http://www.example.com/beta
url 应该只在“beta”时重写。使用,并且应该保留 HTTP_HOST 结构。

许多问候,
安德拉斯

【问题讨论】:

    标签: apache http mod-rewrite


    【解决方案1】:

    这应该可行。

    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP_HOST} ^beta.example.com$
    RewriteRule ^(.*)$ http://www.example.com/beta/$1 [R=301,L]
    
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^beta.example.com$
    RewriteRule ^(.*)$ https://www.example.com/beta/$1 [R=301,L]
    

    重定向

    https://beta.example.com => https://www.example.com/beta/
    http://beta.example.com/somepage.php => http://www.example.com/beta/somepage.php
    

    【讨论】:

    • 不,不会。要保留 http/https,您必须有两组规则。检查更新。