http://www2.mydomain.com/some-filename.php
到http://newmydomain.com/some-filename.php
而 https://www2.mydomain.com/some-filename.php
到https://newmydomain.com/some-filename.php
我 “www2.mydomain.com” 域没有有效的SSL,但仍如果用户访问https,那么我需要使用https将他重定向到新域。
我在.htaccess
中编写了下面的代码,但它总是重定向到HTTP
。
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS_HOST} ^www2\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://newmydomain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www2\.mydomain\.com$
RewriteRule ^(.*)$ http://newmydomain.com/$1 [L,R=301]
</ifModule>
请让我知道我在做什么错,以及做这种重定向的正确代码是什么。
这是行之有效的,但我有一个更多的要求,我刚才知道,我们需要将某些特定的URL重定向到新域的不同位置。比如'https:// www2.mydomain.com/myapp'到'https:// newmydomain.com/NEWmyapp'等等。如何用你建议的当前htaccess规则来做到这一点,或者我发现的一种方法是复制三行并为所有特定的url创建它?请指教? – Prashant
完成后,我在'RewriteCond%{HTTP_HOST}^www2 \ .mydomain \ .com $ [NC]'行上面添加了这条规则'RewriteRule^myapp // NEWmyapp/[L,R = 301]'并且它正在工作。这是对的吗? – Prashant
@Prashant是的,没关系。如果你有多个重定向,你通常需要比较一般的重定向更具体的重定向。 –