[英]Redirect example.com to example.com/blog
我已經將網站上傳到服務器上的子目錄下,結構看起來像這樣
根
- - 博客
--------。htaccess
- - 蘋果
----。htaccess
現在,我在/blog/.htaccess文件中編寫了一條規則,該規則會將用戶重定向到
我通過添加以下規則來做到這一點。
RewriteEngine On
RewriteBase /blog/
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
到目前為止,它的工作原理完全符合需求,現在真正的問題來了。 用戶希望任何人在沒有前一個博客的情況下訪問該域時,都會添加/ blog /並將用戶重定向到該博客站點,並且該規則在以下情況下不應影響任何子域的含義:
用戶輸入網址。
example.com
他應該被重定向到。
當他輸入網址時。
apple.example.com
他應該重定向到
apple.example.com
現在,為了執行此操作,我正在編寫以下規則,但是該規則不起作用,如下所示。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://example.com/$1 [R=301,L]
RewriteRule ^$ /blog/ [L]
我不知道我在做什么錯。
我添加了太多詳細信息,因為我認為博客目錄中的.htaccess文件可能會引起問題。
嘗試這個:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ http://www.example.com/blog/$1 [L,R=301,NC]
讓我知道它是否有效。
在@Twinkle的幫助下找到了問題,真正的問題是我正在添加
RewriteRule ^$ /blog/ [L]
由於明顯的原因,我不需要刪除該規則並將當前規則更改為以下規則,從而解決了我的問題。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://example.com/blog/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example\.com$
RewriteRule (.*) https://example.com/blog/ [R=301,L]
希望有人能找到全部幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.