<thead id="evdoq"><rt id="evdoq"><sub id="evdoq"></sub></rt></thead>
  • <acronym id="evdoq"></acronym>

    1. <track id="evdoq"></track>
      <td id="evdoq"><ruby id="evdoq"></ruby></td>
      1. 15047857488
        NEWS CENTER ·
        公司新聞

        通過修改.htaccess批量實現網站內頁301重定向跳轉

        發表日期:2021-07-23    文章編輯:    瀏覽次數:1872    標簽:

        網站死鏈有時候是不可避免的,網站欄目頁或者文章內頁因為某些原因調整了路徑,如果想保留之前的鏈接就需要做301跳轉。網站首頁的301重定向容易做,不過內頁的301就相對復雜一些,通過修改.htaccess文件可以輕松完成這項工作。

        通過修改.htaccess實現網站內頁301重定向跳轉 htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。在LINUX主機FTP文件中都會有一個.htaccess配置文件用來設置偽靜態規則,本文主要介紹如何通過正則表達式實現批量內頁跳轉。

        在寫之前我們先來認識幾個簡單的符號所代表的含義

        1、(.+) 代表任意字符(包括漢字、英文字母等)

        2、(d+)代表是任意數字(僅僅是阿拉伯數字)

        3、$1、 $2 、$3 、$4表示的是對前面出現的變量的引用(你理解這個意思就行了)

        一、簡單的數字形式鏈接跳轉

        例如:

        http://www.wkl8.cn/2016/12/24/seo/  重定向 為 http://www.wkl8.cn/seo.html

        說明:

         

        http://www.wkl8.cn/%year%/%monthnum%/%day%/%postname%/

         

         

        http://www.wkl8.cn/%postname%.html

         

        /%year%/%monthnum%/%day%這個路徑表示的意思是“年、月、日”3層路徑,%postname%是名稱?,F在需要去掉“年、月、日”這幾個多余的層級,變成http://www.wkl8.cn/%postname%.html這種形式。

        重定向語句:

         

        RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$4.html

         

        解釋:

        RedirectMatch 301 ^可以認為是規則的開始;

        中間的三個([0-9]+)分別代表數字“%year%、%monthnum%、%day%”;

        (.*)代表最后文章的名稱或者ID即“%postname%”;

        這四個變量可以賦予編號$1、 $2 、$3 、$4,(.*)和$4.html中間的$可以理解為新老網址的連接符號(注意:$  /$4.html這個符號$和后面的/之間有空格)。

        我們要做的就是前面的日期都不要,只留最后的文章名,然后在結尾后面加上.html,所以修改后前面的三個([0-9]+)都不要,只保留最后的(.*),通過下圖我們知道(.*)代表$4,所以后面的規則只需寫上$4.html就行了。

        通過修改.htaccess批量實現網站內頁301重定向跳轉

        通過修改.htaccess實現網站內頁301重定向跳轉

        二、字符形式類鏈接跳轉

        1、例如:http://www.wkl8.cn/123 重定向為 http://www.wkl8.cn/seo/123.html

        說明:

        http://www.wkl8.cn/%id%

        http://www.wkl8.cn/%postname%/%id%.html

        重定向語句:

         

        RedirectMatch 301 ^/(d+)$ /(.*)/$1.html

        解釋:

        前面我們說過(d+)代表是任意數字,所以前面的數字變量“%id%”可以寫成(d+);

        “%postname%”是名稱肯定是字符,而任意字符(包括漢字、英文字母等)對應的表示符號是(.*);

        其中數字變量“%id%”即(d+)對應的編號是$1,我們需要做的是在舊的文章鏈接的數字ID前面加一個分類名稱,所以前面變量的表示方式為/(d+),后面的可以寫成/(.*)/$1.html,再在它們之間加一個鏈接符號$就行了。

        通過修改.htaccess批量實現網站內頁301重定向跳轉

        2、 http://www.wkl8.cn/postname/lizi/ 重定向為 http://www.wkl8.cn/postname/lizi.html

        重定向語句:

        RedirectMatch 301 ^/(.*)/(.*)/$ /$1/$2.html

        3、http://www.wkl8.cn/lizi/ 重定向為  http://www.wkl8.cn/archives/lizi.html

        重定向語句:

        RedirectMatch 301 ^/(.*)/$ /archives/$1.html

        4、http://www.wkl8.cn/lizi 重定向為 http://www.wkl8.cn/lizi.html

        重定向語句:

        RedirectMatch 301 ^/(.*)$ /$1.html

        寫重定向語句時應該注意哪些方面:

        首先你要弄清楚自己原網址中需要改變的部分是什么形式,是數字還是字母,然后在重定向語句前面的部分用正則表達式對應的符號來表示,(.+) 代表任意字符(包括漢字、英文字母等),(d+)代表是任意數字(僅僅是阿拉伯數字),然后在語句后面分別用對應符號$1、 $2 、$3 、$4、$5..表示,最后用鏈接符號$,來鏈接新舊網址。

        注意:連接符號$和后面的新網址之間有一個空格,而且,如果原網址最后有/的話,在$之前也必須有一個/。

        三、代碼放置位置

        上面的代碼可以放在這段代碼.....中間或者之外,比如這樣:

         

        RedirectMatch 301 ^/(d+)$ /$1.html  
        # BEGIN WordPressRewriteEngine On  
        RewriteBase /  
        RewriteRule ^index.php$ - [L]  
        RewriteCond %{REQUEST_FILENAME} !-f  
        RewriteCond %{REQUEST_FILENAME} !-d  
        RewriteRule . /index.php [L]

        相關新聞
        關于四維
        更多+  
            呼和浩特四維文化傳媒有限公司(簡稱:四維網絡)是從事計算機軟件互聯網運營的高科技IT服務機構,自2014年成立以來,先后為大中小企業服務。主要從事企業互聯網方向的運營推廣,立足于信息產業的發展,積極開發相關的技術與產品,致力于電子商務的推廣與經營。      公司憑借通過互聯網絡的整合營銷在行業內站穩腳跟,為客戶提供一站式全程網絡營銷、網絡...
        首頁 | 服務 | 網建 | SEO | 智庫 | 模板 | 新聞 | 小程序 | 案例 | 四維   蒙公安網備 44010602002620  
        © Copyright 2015 四維網絡.All Rights Reserved 蒙ICP備15002424號
        亚洲AV成人片无码网站网
        <thead id="evdoq"><rt id="evdoq"><sub id="evdoq"></sub></rt></thead>
      2. <acronym id="evdoq"></acronym>

        1. <track id="evdoq"></track>
          <td id="evdoq"><ruby id="evdoq"></ruby></td>