簡體   English   中英

使用 htaccess 將 301 從子域重定向到子文件夾/使用不同的 URL

[英]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

有什么幫助嗎?

編輯:如果是重要的兩個子域名和子文件夾名稱是相同的,我的意思是SUBDsubf都是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.

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