如何編寫(xiě)網(wǎng)站改版正則規則
規則由2部分組成:舊網(wǎng)址的正則表達式、新網(wǎng)址的正則表達式。
正則標準說(shuō)明:支持PCRE規范的表達式。
以下舉例說(shuō)明:
改版前url:example.com/bbs123/?a=2&b=137
改版后url:bbs123.yoursite.com/thread-137-2.html
針對這一類(lèi)長(cháng)相的url改版
首先使用正則描述改版前舊url規則:^example\.com/([a-z0-9]+)/\?a=([0-9]+)&b=([0-9]+)$
再用字符串和捕獲引用描述改版后新url規則: \1.yoursite.com/thread-\3-\2.html
注:其中\為轉義字符,其后可以跟隨數字0-9以表示一個(gè)對捕獲字符串的引用,或者跟隨另一個(gè)以表示一個(gè)字符’’,其余字符皆不可以跟隨在一個(gè)單獨的\之后。其余字符都表示他們自身。西安做網(wǎng)站公司,百度競價(jià)外包推薦閱讀>>> 如何向百度提交網(wǎng)站改版規則,
提交以上正則規則后,如改版前url
example.com/bbs123/?a=2&b=137
會(huì )匹配這條規則,并產(chǎn)生如下的捕獲對應關(guān)系
bbs123 => \1
2 => \2
137 => \3
進(jìn)而得到最終的改版后url長(cháng)相為
bbs123.yoursite.com/thread-137-2.html
請注意如下的url將不在本規則覆蓋范圍內:
example.com/BBS123/?a=2&b=137
原因:規則配置的第一個(gè)捕獲中指定可通配[a-z0-9]但未包括大寫(xiě)字母>陜西西安網(wǎng)站制作公司,西安 網(wǎng)站制作推薦閱讀>>> 改版時(shí),如何保留原鏈接,創(chuàng )建新的URL,
example.com/bbs123/?a=&b=137
原因:規則配置的第二個(gè)捕獲指定+匹配至少要有一個(gè)字符
example.com/bbs123/?a=2&b=137&c=45
原因:規則最后指定$表示斷言url應該到此結束,否則不匹配
附PCRE規則常用字符,更多可到標準庫中進(jìn)行了解。
^:表示字符串開(kāi)始,即在此之前不能再有任何字符
$:表示字符串結束,即在此之后不能再有任何字符
?:表示之前的元素可以出現0次或1次
*:表示之前的元素可以出現0次或多次
+:表示之前的元素可以出現1次或多次
{數字}:表示之前的元素必須出現數字次
{數字,}:表示之前的元素需要出現至少數字次
{數字1,數字1}:表示之前的元素出現次數不少于在數字1且不大于數字2
[一些字符]:表示一個(gè)在一些字符內的字符,一些字符部分可以用-進(jìn)行簡(jiǎn)記,例如[abcde]等同于[a-e]
.:表示一個(gè)任意字符
\:轉義字符,當上面有特殊含義的字符以及\本身需要表示其字面值而非特殊含義時(shí),可以用特殊字符表示這個(gè)特殊字符本身,例如?表示一個(gè)?而非\出現0次或一次。轉義字符還可以和一些非特殊字符使用,表示一個(gè)特殊含義,見(jiàn)后續的描述
\d:表示一個(gè)數字[0-9]
\w:表示一個(gè)單詞[a-zA-Z0-9_]
(子模式):一般?和*等計數字符只對前一個(gè)元素生效,當需要對一個(gè)子模式生效時(shí),需要加上括號。同時(shí),括號內子模式所匹配的字符串,會(huì )作為捕獲存在,后續可以引用,計數方式為“從左至右每一個(gè)加括號的子模式依次被編號為捕獲1、2、3、4等”。整個(gè)規則本身匹配部分也是一個(gè)捕獲,記為0號捕獲
|:表示之前的子模式和之后的子模式至少有一個(gè)匹配,例如a(bc|de)f可以匹配adef和abcf
相關(guān)文章:
-
以站點(diǎn)news.a.com改版到站點(diǎn)a.com/news為例: 改版前url地址為http://news.a.com/09/1001/07/5KH8DE1F000120GR.html, 其對應的改版后url地址為http://a.com/news/09/1001/07/5KH8DE1F000120GR.html 步驟一:確定改版前鏈接中的可...
-
當一個(gè)站點(diǎn)的域名或者目錄發(fā)生變化時(shí),例如a.com變?yōu)閎.com,或者a.com/b變成a.com/c,如果想讓百度快速收錄變化之后的新鏈接、用以替換之前的舊鏈接,那么您就需要使用百度站長(cháng)平臺的網(wǎng)站改...
-
1)首先您要將改版前的舊鏈接全部通過(guò)301跳轉到改版后的新鏈接,并且這種跳轉必須是一一對應的關(guān)系,不能出現多條舊鏈接跳轉到一條新鏈接,或者一條舊鏈接在不同時(shí)間內跳轉到不同新鏈...
-
1、需要您在站長(cháng)平臺同一賬號驗證新舊站點(diǎn)的權限。 2、在您提交改版規則之前,請確保您的網(wǎng)站已經(jīng)設置好301跳轉,并且是跳轉一一對應的關(guān)系。 3、改版完成之后,在百度搜索前端會(huì )短時(shí)間...
-
該經(jīng)驗分享主要是幫助一部分朋友在日常網(wǎng)站改版中規則遲遲不生效、同樣內容多套URL被收錄問(wèn)題,其實(shí)這個(gè)問(wèn)題在很早之前也困擾過(guò)我,后面經(jīng)過(guò)man_hok大師指導后才發(fā)現問(wèn)題的最終原因在于...
-
1)告知域名更換 若只是更換域名(即改版前后的url長(cháng)相除站點(diǎn)不同外,其他均一致),首先確保新舊網(wǎng)站均已驗證所有權,然后到網(wǎng)站改版工具添加新改版內容,選擇告知域名更換,填寫(xiě)舊域...
-
網(wǎng)站改版注意事項: (1)短時(shí)間內頻繁換域名、二級域二級目錄間互換、url規則頻繁變化等等; (2)新舊網(wǎng)頁(yè)之間不設置301跳轉關(guān)系或極短時(shí)間內停止了301跳轉關(guān)系; (3)舊網(wǎng)頁(yè)短時(shí)間內...
-
體操作辦法(僅適用于apache網(wǎng)絡(luò )服務(wù)器): 文件位置:apache-conf-httpd.conf 請在httpd.conf中使用Alias指令: Alias /newurl /www/htdocs/oldurl 如:用戶(hù)訪(fǎng)問(wèn)新的地址example.com/newurl/id34.html 服務(wù)器將提供的內...
-
在與站長(cháng)朋友私下交流中,站長(cháng)表示:最怕改版,最怕?lián)QIP,每次都是萬(wàn)不得已身不由己。改版還好些,有改版工具可以使用。換了IP都不知道怎么通知百度。 其實(shí),登錄百度站長(cháng)平臺,使用抓...
-
部分站長(cháng)會(huì )選擇通過(guò)換域名來(lái)提高站點(diǎn)運營(yíng)效果,但站長(cháng)們應該明確一點(diǎn):網(wǎng)站只要發(fā)生大大的變化(如換域名、子目錄改版為二級域名等),流量就會(huì )受到損失;其次,百度站長(cháng)平臺會(huì )幫助...