企業新聞

                                MetInfo米拓建站IIS下偽靜態tag聚合標簽頁翻頁中文路徑404的解決辦法

                                2020-12-17 12:51:50 zou

                                MetInfo米拓建站IIS下偽靜態tag聚合標簽頁翻頁中文路徑404的解決辦法

                                關于米拓企業建站系統(簡稱:MetInfo)(V7.0.0+V7.1.0+V7.2.0)Windows Server 2008R2 IIS7.5+Rewrite2.0環境下開啟偽靜態后tag聚合標簽頁面翻頁時中文路徑404問題的解決辦法

                                MetInfo 7版本Windows Server 2008R2 IIS7.5環境下后臺開啟偽靜態時需要安裝IIS URL重寫模塊2(Rewrite2.0),安裝好后啟用偽靜態時,會覆蓋web.config文件,網站原PHP環境配置等會被覆蓋掉,要在IIS里重新設置一下PHP的相關配置。同時,在網站前臺特色功能欄目下的聚合標簽欄目里,當某個中文聚合標簽(tag)下內容較多時會分頁,點擊頁碼或是下一頁,在路徑里出現中文(http://www.xxx.com/search/tag/中文聚合標簽-2),此時404了,解決辦法如下:

                                在web.config文件中找到rule13的偽靜態規則

                                將原規則中的

                                match url="^search/tag/([a-zA-Z0-9_^\x00-\xff]+)-([0-9]+)$"

                                修改為

                                match url="^search/tag/([a-zA-Z0-9_^\u4e00-\u9fa5]+)-([0-9]+)$"

                                此時,刷新一下剛才404的那個頁面(http://www.xxx.com/search/tag/中文聚合標簽-2)顯示正常了。


                                參考材料

                                iis偽靜態不支持中文Url鏈接的解決辦法。

                                首先要看下你安裝的是IIS rewrite_2.0還是ISAPI_Rewrite 3.x的偽靜態插件。
                                 
                                如果你安裝的是IIS rewrite_2.0的話,傳遞的參數都是UTF-8格式的,如果你網站是GBK的就會出現中文連接亂碼。
                                 
                                解決辦法:
                                 
                                rewrite_2.0規則寫法:

                                RewriteRule  ^news_list_([0-9a-zA-Z\u4e00-\u9fa5]+)\.html$          news_list.asp?BigClassName=$1 [L]

                                比如頁面傳遞參數是 zhongwen:

                                Session.CodePage = 65001
                                BigClassName=request("BigClassName")
                                Session.CodePage = 936
                                在BigClassName獲取的時候,加上兩行代碼轉碼下,然后刷新下就行了。
                                 
                                如果你用的是ISAPI_Rewrite 3.x的組件的話,換用了ISAPI_Rewrite 3.x后發現編碼后的字符會變成亂碼,如果直接使用中文不編碼,則會被格式化為GBK字符串。
                                 
                                解決辦法:
                                 
                                在RewriteRule 規則的最后添加 NU 參數即可恢復正常。

                                關于ISAPI_Rewrite中文變亂碼的解決方法:
                                1、在傳輸URL時,對中文進行urlencode,這樣是沒錯的。
                                2、如果是ISAPI_Rewrite 3.x 只需添加 NU 參數即可。
                                 
                                示例:
                                RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]


                                首頁
                                產品
                                新聞
                                聯系
                                国内精品久久久久久久影视,亚洲欧美在线综合色影视,小雪的13又嫩又紧又多水,最新国产成人AV网站网址 遂昌县| 门头沟区| 东辽县| 交口县| 镇坪县| 大理市| 山阳县| 鹰潭市| 且末县| 安丘市| 和田市| 邛崃市| 常州市| 扶沟县| 四会市| 民丰县| 额敏县| 景东| 法库县| 临西县| 阿拉善右旗| 桑日县| 阳高县| 古田县| 茂名市| 炉霍县| 新宾| 汉阴县| 保山市| 丹江口市| 襄城县| 孟州市| 额尔古纳市| 珲春市| 建昌县| 洛扎县| 枞阳县| 五家渠市| 新安县| 墨脱县| 呼伦贝尔市| http:// http:// http:// http:// http:// http://