![](/img/trans.png)
[英]htaccess redirect domain.com to www.domain.com except of staging.domain.com for multiple domains
[英]Redirect domain.com/shop to www.domain.com/shop
注意:在將其標記為重復之前,請閱讀完整的問題。 我已經應用了對我不起作用的波紋管建議。
1 - mod 從 .domain 重寫為 www.domain htaccess
2 - .htaccess 從 http://www.domain/ 重定向到 https://domain.com
3 - .htaccess 將任何域/目錄重定向到 www.domain/directory
我們有一個購物網站,我們將其托管在主機 (CloudLogin) 上。 主站點建立在 Joomla CMS 和 Magento 上作為購物車。
主站點 URL 是 www.domain.com,購物車 URL 是 domain.com/shop(不帶 www)。
我們需要的是用 (www) 顯示兩個 URL。
所以我們需要 Magento 文件夾,即 domain.com/shop 也位於 www URL 上。
我找到了一些關於堆棧溢出的解決方案,但它們對我不起作用,因為它總是顯示消息瀏覽器(重定向過多或 /page 未正確重定向)
注意: .htaccess 文件位於 (shop) 文件夾中。
波紋管是我到目前為止嘗試過的:
1 -
# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE]
上面的代碼從 URL 中刪除了 (shop) 目錄,這會變成錯誤。
例如:domain.com/店/ CAT1 / PROD1轉化成了www.domain.com/cat1/prod1
2 -
RewriteCond %{REQUEST_URI} !^/shop/?.*$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
上面的代碼甚至沒有在上面應用 www 。
3 -
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
以上內容來自domain.com/shop/ CAT1 / PROD1到www.domain.com/shop錯誤消息的代碼重定向(重定向你太多次。)這似乎頁上的無限循環。
4 -
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*) http://www.domain.com/shop/$1 [L,R=301]
這與 3 的作用相同。
5 -
#RewriteCond ${HTTP_HOST} doamin.com [OR]
#RewriteCond ${HTTP_HOST} www.doamin.com
#RewriteRule ^(.*)$ http://www.doamin.com/shop/$1 [QSA,R=301,L]
有誰知道我如何始終強制正確使用特定 URL 的 .htaccess?
我環顧四周,但找不到合適的答案。
嘗試 :
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/shop
RewriteCond www.%{HTTP_HOST} ^(?:www\.)?(www\..+)$ [NC]
RewriteRule ^ http://%1/shop%{REQUEST_URI} [NE,L,R]
您是否嘗試過以下操作?
# anything.com to www.anything.com
RewriteCond %{HTTP_HOST} ^[^.]+(\.[^.]+)?$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/shop/$1 [L,R=301,NE]
由於請求源自/shop
目錄,因此它們不會在請求的 URL 中包含該目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.