2016-09-13 84 views
0

我试图重定向到example.com/x/y/..https://sub.example.com/x/y/..按照我的htaccess的文件规定:htaccess的重定向不添加子文件夹

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteRule ^(.*)$ https://sub.example.com/$1 [L,R=301] 

重定向然而原始URL的子路径不添加到新一。所以,而不是重定向到https://sub.example.com/x/y/..,我只是重定向到https://sub.example.com

任何建议为什么?

回答

0

在您描述的本场景中,Apache无法传递URI的其余部分。您需要在RewriteRule的行中使用%{HTTP_HOST}%{REQUEST_URI}。请参考本例:Force SSL/https using .htaccess and mod_rewrite

+0

我将RewriteRule更改为'RewriteRule^https://sub.example.com/%{REQUEST_URI} [L,R = 301]',但这也不起作用。然后我尝试重定向到https,然后重定向到该位置,但它只是重写了主机名并忘记了其余部分。 – Sully

+0

也可以尝试更改'RewriteCond'行(如示例中所述)? – Hiren