[英]How redirect .htaccess to www. version? (not working)
我在.htaccess
有以下代碼。 它似乎不是出於某種原因而起作用。 誰能明白為什么? 它位於我網站的根目錄中。
Options +FollowSymLinks
RewriteEngine On
#Limit redirects at once (stops server crash)
RewriteOptions MaxRedirects=10
#Redirect visitors to www. version of website
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.MYDOMAIN.COM/$1 [R=301]
顯然, mydomain.com
是我的域名。 提前感謝能夠發現任何問題的人!
更新:
這沒有問題。 但是,如果我訪問mydomain.com/link1/link2/
然后它不起作用。
'/ link2 /'的.htaccess是:
#settings
Options +FollowSymLinks
RewriteEngine On
#homepage
DirectoryIndex index.php
對於'/ link1 /':
#/linkgenerator/ never used, but temp redirect for neatness
Redirect 302 /fbwiki/linkgenerator/ /fbwiki/link-generator/
#Serve error pages
ErrorDocument 400 /link1/error.php
ErrorDocument 401 /link1/error.php
ErrorDocument 403 /link1/error.php?status=403
ErrorDocument 404 /link1/error.php?status=404
ErrorDocument 500 /link1/error.php?status=500
這個配置適合我
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
它不適用於子目錄,因為這些子目錄有自己的重寫規則,默認情況下,這些規則不會被父級的低級別.htaccess繼承。
要解決這個問題,您有兩種選擇:
www
強制規則以及OR 在較低級別.htaccess文件的頂部添加此行:
RewriteEngine On RewriteOptions Inherit # remaining rules will be below this
更新:保持您的www規則如下:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.