[英]Redirecting 301 from SubDomain to SubFolder / with diffrent URLs using htaccess
我有一個帶有此地址的網站(子域): subd.example.com
並希望將其重定向到(子文件夾): https://www.example.com/subf/
: subd.example.com
如果我的網站中的 url 不會改變,我是否搜索了下面的代碼:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^subd\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/subf/$1/ [R=301]
但是我的部分或大部分 URL 將被更改,例如從 /oldlink1 更改為 /newlink1 和...
不知何故我卡住了,代碼不起作用,只有主頁重定向正確,我試過:
Redirect 301 /oldlink1 www.example.com/subf/newlink1
但它不起作用,返回給我這個鏈接: www.example.com/subf/oldlink
有什么幫助嗎?
編輯:如果是重要的兩個子域名和子文件夾名稱是相同的,我的意思是SUBD和subf都是sub
。 地址是:
sub.example.com
www.example.com/sub/
您的問題很可能是這些特定重定向規則的位置。 這很重要,您需要考慮規則集是從上到下處理的。 所以你需要先實現特定的例外,然后再往上,然后再實現更多的通用規則,再往下。
這可能就是你要找的:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^subd\.example\.com$
RewriteRule ^/?$ https://example.com/subf [R=301,L]
RewriteCond %{HTTP_HOST} ^subd\.example\.com$
RewriteRule ^/?oldlink1/?$ https://example.com/subf/newlink1 [R=301,L]
RewriteCond %{HTTP_HOST} ^subd\.example\.com$
RewriteRule ^/?oldlink2/?$ https://example.com/subf/newlink2 [R=301,L]
RewriteCond %{HTTP_HOST} ^subd\.example\.com$
RewriteRule ^/?oldlink3/?$ https://example.com/subf/newlink3 [R=301,L]
RewriteCond %{HTTP_HOST} ^subd\.example\.com$
RewriteRule ^/?(.*)/?$ https://example.com/subf/$1 [R=301,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.