簡體   English   中英

重定向到以域名為通配符的www子域名

[英]Redirect to www subdomain with domain as wildcard

我有10個域都指向一個目錄。 我需要所有這些都指向不帶www的301重定向URL。 擁有www。 例如:

http://domain1.com/foo.php -301-> http://www.domain1.com/foo.php

我已經通過正常的htaccess達到了這個要求

RewriteCond %{HTTP_HOST} ^domain1.com$
RewriteRule ^(.*)$ "http\:\/\/www\.domain1\.com\/$1" [R=301,L]

理想情況下,不會在htaccess中定義域和TLD-我正嘗試做更多類似的事情

RewriteCond %{HTTP_HOST} ^[^^www.$](.*)$
RewriteRule ^(.*)$ "http\:\/\/www\.$1" [R=301,L]

即,如果HTTP_HOST不是以www開頭。 然后重定向。 我相信[^^www.%]在我做錯的部分。 我以為[^ ]意思是'not',而^ %包含一個字符串,因此[not[www.]]

我已經閱讀了很多關於Apache mod rewrite的文檔,但似乎無法弄清楚

我目前的完整htaccess:

RewriteEngine On

# Force www.
RewriteCond %{HTTP_HOST} ^domain1.com$
RewriteRule ^(.*)$ "http\:\/\/www\.domain1\.com\/$1" [R=301,L]

# Don't user-friendly remap resource files
RewriteCond %{REQUEST_FILENAME} ^.*^.ico$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.css$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.js$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.gif$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.png$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.jpg$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.jpeg$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.xml$$ [OR]
RewriteCond %{REQUEST_FILENAME} ^.*^.txt$$
RewriteRule ^(.*)$ $1 [L]

# Remap /page/filter/?query to /index.php?page=page&filter=filter&query
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)/*([a-zA-Z0-9-]*)/?$ /index.php?page=$1&filter=$2 [QSA]

非常感謝

將您的force www規則更改為:

# Force www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

這會將www強制到您所有的域。 清除瀏覽器緩存后,請確保對其進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM