簡體   English   中英

將舊域的每個頁面重定向到新域上的相同頁面URL

[英]Redirect Each Page of Old Domain to Same Page URL on the New Domain

我知道這個問題已被提出所有變化,但我仍然找不到確切的答案。 我已經更改了我的域名。 所有網站文件和網址仍然相同。 舊域仍然指向相同的服務器,我在htaccess文件中有以下代碼。

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
 RewriteRule ^(.*)$ "https\:\/\/www\.newdomain\.com\/$1" [R=301,L]

問題是,這只會重定向舊域主頁。 我能做什么,所以我不必為每個頁面添加單獨的重定向。

聽起來你已將這些指令放在.htaccess文件中的錯誤位置。 他們需要在文件的開頭,而不是最后。

這些指令看起來是典型的cPanel生成的重定向。 cPanel總是將重定向放在.htaccess文件的末尾(這通常是不正確的)。

如果您之前有一個前端控制器(例如WordPress使用的那個),那么您會發現只有處理對文檔根目錄(即“主頁”)的請求才能處理這些指令,因為所有其他請求都將被停止由前端控制器。

這些指令也可以簡化:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]

我已經從CondPattern的末尾刪除了$以匹配FQDN(以點結尾)。

RewriteRule 替換中也沒有必要使用反斜杠轉義冒號,斜杠和點,因為這些字符在這里沒有特殊含義(它不是正則表達式)。 (這種不必要的轉義是cPanel非常典型的。)

暫無
暫無

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

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