到目前为止,我已经用我的RewriteConditions做了这么多,但它来自于来自网络示例的黑客攻击和削减。他们似乎有时候表现得有点滑稽,比如在网址中显示目录,所以我假设我做得不对。
所需的行为:我有多个子域都指向同一个根。根据子域值,我想重定向到根目录中的子文件夹。我也想强制使用HTTPS。我有多个子域名,但为了简洁起见,我只会展示两个子域名。所有其他条件几乎相同。
这是我的.htaccess代码:`
RewriteEngine On
RewriteCond %{HTTP_HOST} purchase.mydomain.com [NC]
RewriteCond %{REQUEST_URI} !purchase/
RewriteRule (.*) https://purchase.mydomain.com/purchase/$1 [L]
RewriteCond %{HTTP_HOST} booking.mydomain.com [NC]
RewriteCond %{REQUEST_URI} !booking/
RewriteRule (.*) https://booking.mydomain.com/booking/$1 [L]
`
谢谢,
麦克
答案 0 :(得分:0)
更改您的规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(purchase|booking)\.mydomain\.com$
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
RewriteCond %{HTTP_HOST} =purchase.mydomain.com
RewriteRule ^((?!purchase/).*)$ /purchase/$1 [L]
RewriteCond %{HTTP_HOST} =booking.mydomain.com
RewriteRule ^((?!booking/).*)$ /booking/$1 [L]
目标中的 http://
或https://
将重定向而不是重写。