重写子域会导致HTTP重定向,而不是

时间:2018-07-24 21:05:48

标签: apache .htaccess mod-rewrite url-rewriting

我在这里想要做的是将我的https://demo.example.com/子域重写为我的https://example.com/域(在另一个文件夹中),不更改。但是,子域继续将我重定向到该文件夹​​。我在HTACCESS和重写方面并不擅长,但这 应该 容易完成。

这是我当前的HTACCESS文件:

RewriteEngine On

RewriteRule ^license/?(.*)$ /sites/site-licenses/$1.php [L]
RewriteRule ^portfolio/?(.*)$ /sites/site-portfolios/$1.php [L]

RewriteCond %{HTTP_HOST} ^demo\.hamiltondev\.net
RewriteRule ^(.*)$ https://hamiltondev.net/sites/site-demos/$1 [L,NC,QSA]

前两个重写规则适用于主域https://example.com/license/---https://example.com/portfolio/---

1 个答案:

答案 0 :(得分:0)

RewriteRule中将完整URL用作目标时,它将自动成为重定向。您需要使用绝对路径(如果演示和主域共享相同的文档根文件夹),或者使用代理请求。

两个域共享文档根文件夹

RewriteCond %{HTTP_HOST} ^demo\.hamiltondev\.net$ [NC]
RewriteRule ^(.*)$ /sites/site-demos/$1 [L,NC,QSA]

否则,代理

RewriteCond %{HTTP_HOST} ^demo\.hamiltondev\.net$ [NC]
RewriteRule ^(.*)$ https://hamiltondev.net/sites/site-demos/$1 [P,NC,QSA]