我想設置域名,象下面這樣:的.htaccess根域需要www和子域不需要WWW
example.com - > www.example.com
example.com/page - > WWW。 example.com/page
www.example.com - >不重定向
www.example.com/page - >不重定向
subdomain.example.com - >不重定向
subdomain.example.com/page - >不重定向
www.subdomain.example.com - > subdomain.example.com
www.subdomain.example.com/page - > subdomain.example.com/page
http和https也應該工作。
我得到的代碼.htaccess to require WWW for domain, but allow subdomain if existing with no hard coding
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
它可以很好地工作,而是除了下面:
www.subdomain.example.com - > www.subdomain.example.com
www.subdomain.example.com/page - > www.subdomain.example.com/page
子域應該不是有'www。'前綴,但它仍然與'www。'。字首。
感謝教程。
現在我將此代碼粘貼在我的.htaccess文件: '的RewriteCond%{HTTP_HOST}^[^] + \。[^] + $'' %的RewriteCond {HTTPS}Š^(S)上|' 'RewriteRule^http%1://www.% {HTTP_HOST}%{REQUEST_URI} [L,R = 301]' 'RewriteCond%{HTTP_HOST}^www \。([^。] + \。 [^。] + \。[^。] +)$' 'RewriteCond%{HTTPS} s^on(s)|' 'RewriteRule^http%2://%1%{REQUEST_URI} [L,R = 301]' **對於子域部分仍然沒有問題:** www.subdomain.domain.com - > subdomain.domain.com(done), ** www.subdomain.domain.com /頁面 - >頁面/(問題)** –
更改了我的答案。由於我錯過了htaccess文檔中的某些內容,因此需要兩條重寫規則。 –
非常感謝這是解決我的問題,再次感謝。 –