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