通過N天的研究,實驗,終於解決了ISAPI_Rewrite 3 二級域名泛解析問題,如今把經驗跟你們分享一下,省得你們走彎路
另外想說的是,如今的網絡真是快變成垃圾了,前幾天網上查這方面的資料時,千篇一概的轉載,翻來翻去就那幾篇,要是對的也不說啥,關鍵是就那幾篇,說的仍是錯誤的,真是草他大爺!
一:首先,設置你的域名的泛解析,在域名解析面板把 *.abc.com 解析到你的服務器IP,這方面沒難度,網上資料一大堆並且正確性高,不做爲重點。
二 安裝ISAPI_Rewrite 3 免費版的只能全局設置,收費版的功能較全,區別本身查資料,這個不是重點。
下面提供 ISAPI_Rewrite 3 破解的全功能版 本人已測試可用並用於生產環境 下載包裏面包含註冊碼,破解文件以及一個實例還有二級域名僞靜態後cookie丟失的解決方案,這個是不少人都會碰到的問題。
cookie丟失主要是asp,其餘語言應該沒有這種狀況,主要是P3P協議的問題,尤爲是ie6下。
在IIS添加HTTP頭(解決不支持P3P協議)
自定義HTTP頭名爲:P3P
自定義HTTP頭值爲:CP=CAO PSA OUR
另外,跨語言的程序整合,也和P3P協議有必定關係,同步註冊登陸退出,這個研究後本人也會寫下。
很少說,上下載地址,收取5分資源分:
http://mydearbaby.download.csdn.net/
三 注意下面紅色部分的代碼,若是是將目錄僞靜態成二級目錄不須要注意此問題,可是將會員名僞靜態成二級域名這類問題就請注意,下面貼上示例
html
- # Helicon ISAPI_Rewrite configuration file
- # Version 3.1.0.75
- RewriteEngine On
- RewriteBase
- RewriteCond %{HTTP_HOST} ^(.+)$
- RewriteCond %{HTTP:Referer} ^(?!http://\\1.*).*$
- RewriteRule ^.*\.(?:exe|rar|zip|mdb|txt|doc|xsl|jar|msi|flv|htaccess|mdb)$ /pic/i-10.gif [NC,N,O,I]
- # 排除當前虛擬主機須要正常訪問的域名(www.YourDomain.com)
- RewriteCond %{HTTP_HOST} www\.YourDomain\.com$ [NC]
- RewriteRule (.*) $1 [NC,I,L]
- #會員僞靜態二級域名下的目錄示例
- #會員首頁
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/$ /huangye/hyindex\.asp\?id=$1 [NC,I,L]
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/index.html$ /huangye/hyindex\.asp\?id=$1 [NC,I,L]
- #新聞
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/news/$ /huangye/hynews\.asp\?id=$1 [NC,I,L]
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/news/index.html$ /huangye/hynews\.asp\?id=$1 [NC,I,L]
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/news/list_([0-9]+).html$ /huangye/hynews\.asp\?id=$1&classid=$2 [NC,I,L]
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/news/list_([0-9]+)_([0-9]+).html$ /huangye/hynews\.asp\?id=$1&classid=$2&page=$3 [NC,I,L]
- RewriteCond %{HTTP_HOST} HuangYe\.YourDomain\.com$ [NC]
- RewriteRule ^/([0-9]+)/news/news_([0-9]+).html$ /huangye/hynewsshow\.asp\?id=$1&newsid=$2 [NC,I,L]
- #黃頁部分僞靜態規則結束
- #新聞部分僞靜態規則
- RewriteCond %{HTTP_HOST} news\.YourDomain\.com$ [NC]
- RewriteRule ^/([a-zA-Z]+)/$ /Article/shownews\.asp\?leibie=$1 [NC,I,L]
- RewriteRule ^/([a-zA-Z]+)/index.html$ /Article/shownews\.asp\?leibie=$1 [NC,I,L]
- RewriteRule ^/([a-zA-Z]+)/index_([0-9]+).html$ /Article/shownews\.asp\?leibie=$1&page=$2 [NC,I,L]
- RewriteRule ^/([a-zA-Z]+)/([0-9]+).html$ /Article/newsshow\.asp\?id=$2 [NC,I,L]
- #新聞部分僞靜態規則結束
- #每個會員按用戶名僞靜態二級域名
- #首頁
- RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
- RewriteRule ^/$ /member/index\.asp\?username=%1[NC,I,L]
- RewriteRule ^/index.html$ /member/index\.asp\?username=%1 [NC,I,L]
- #文章
- RewriteCond %{HTTP_HOST} ([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
- RewriteRule ^/Article/$ /member/shownews\.asp\?username=%1 [NC,I,L]
- RewriteCond %{HTTP_HOST} ([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
- RewriteRule ^/Article/index.html$ /member/shownews\.asp\?username=%1 [NC,I,L]
- RewriteCond %{HTTP_HOST} ([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
- RewriteRule ^/Article/list_([0-9]+).html$ /member/shownews\.asp\?username=%1&classid=$1 [NC,I,L]
- RewriteCond %{HTTP_HOST} ([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
- RewriteRule ^/Article/list_([0-9]+)_([0-9]+).html$ /member/shownews\.asp\?username=%1&classid=$1&page=$2 [NC,I,L]
注意這裏
#每個會員按用戶名僞靜態二級域名
#首頁
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+)\.YourDomain\.com$ [NC]
RewriteRule ^/$ /member/index\.asp\?username=%1[NC,I,L]
username=%1[NC,I,L] 這裏是%1 而不是$1 表示的是對RewriteCond 的 回調。不少人出錯,表示不起做用,基本是這裏的問題。
服務器