最近陸續有很多站長過來詢問偽靜態的問題,現就分享下目前網上流行的各種程序在iis下的規則和設置方法:
shopex4.8
下載3.0的免費Rewrite組件 http://www.helicontech.com/download/isapi_rewrite/ISAPI_Rewrite3_0056_Lite.msi
按照默認路徑安裝後,打開C:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf
加入以下規則:
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.56
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/((fid|tid)-[0-9]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4
RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3
下面就需要配置iis為shopex4.8加載組件了:
打開iis,右鍵你的站點屬性--ISAPI 篩選器--添加--篩選器名稱是ISAPI_Rewrite3 --可執行文件就是ISAPI_Rewrite.dll的路徑,比如C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll
最後重啟iis
當然你可以把ISAPI_Rewrite3目錄放入站點根目錄下,但記得要給一個users和"network service"的讀權限。
注意:有些服務器或者vps有做權限的,安裝後httpd.conf可能只有everyone和system的權限,如果修改不了文件就添加一個administrator的權限。
shopex4.7
免費的rewrite2.0組件下載地址 http://www.isapirewrite.com/download/isapi_rwl_x86_0072.msi
安裝後添加如下規則
規則如下:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#首頁
RewriteRule /index.html /index.php
RewriteRule /default.html /index.php
#商店公告
RewriteRule /bulletin.html /index.php\?gOo=article_list.dwt&acat=1
RewriteRule /bulletin_([0-9]+).html /index.php\?gOo=article_list.dwt&acat=1&p=$1
#商品分類
RewriteRule /catalog.html /index.php\?gOo=goods_category.dwt
#全部商品
RewriteRule /list.html /index.php\?gOo=goods_search_list.dwt
RewriteRule /list_([0-9]+).html /index.php\?gOo=goods_search_list.dwt&p=$1
#會員中心
RewriteRule /member.html /index.php\?gOo=member_home.dwt
#幫助中心與常見問題
RewriteRule /faq.html /index.php\?gOo=help.dwt&acat=2
RewriteRule /faq_([0-9]+).html /index.php\?gOo=help.dwt&acat=2&p=$1
#安全交易
RewriteRule /safe.html /index.php\?gOo=help_safe.dwt
#購買流程
RewriteRule /howtobuy.html /index.php\?gOo=help_buystep.dwt
#如何付款
RewriteRule /howtopay.html /index.php\?gOo=help_send.dwt
#聯系我們
RewriteRule /contactus.html /index.php\?gOo=help_contact.dwt
#關於我們
RewriteRule /aboutus.html /index.php\?gOo=help_copyright.dwt
#顧客留言
RewriteRule /feedback.html /index.php\?gOo=shopbbs.dwt
#友情鏈接
RewriteRule /friendlink.html /index.php\?gOo=linkmore.dwt
#用戶注冊
RewriteRule /register.html /index.php\?gOo=register_1.dwt
#忘記密碼
RewriteRule /lostpass.html /index.php\?gOo=forget.dwt
#商品詳細頁
RewriteRule /product/([0-9]+).html /index.php\?gOo=goods_details.dwt&goodsid=$1
RewriteRule /product_([0-9]+).html /index.php\?gOo=goods_details.dwt&goodsid=$1
RewriteRule /([0-9]+)_([^.]*).html /index.php\?gOo=goods_details.dwt&goodsid=$1
#新聞詳細頁
RewriteRule /article_([0-9]+).html /index.php\?gOo=help_details.dwt&articleid=$1
RewriteRule /message_([0-9]+).html /index.php\?gOo=article_details.dwt&articleid=$1
#分類詳細列表
RewriteRule /catalog_([0-9]+).html /index.php\?gOo=goods_search_list.dwt&gcat=$1
RewriteRule /catalog_([0-9]+)_([0-9]+).html /index.php\?gOo=goods_search_list.dwt&gcat=$1&p=$2
#收藏商品
RewriteRule /addtofavorites_([0-9]+).html /index.php\?gOo=addmembergoods.do&goodsid=$1
#首頁上的最新,推薦,特價商品
RewriteRule /list_([a-zA-Z]+).html /index.php\?gOo=goods_search_list.dwt>ype=$1
RewriteRule /list_([a-zA-Z]+)_([0-9]+).html /index.php\?gOo=goods_search_list.dwt>ype=$1&p=$2
下面就需要配置iis為shopex4.7加載組件了,方法類似shopex4.8:
打開iis,右鍵你的站點屬性--ISAPI 篩選器--添加--篩選器名稱是Rewrite --可執行文件就是Rewrite.dll的路徑,比如E:\home\LocalUser\rewrite\Rewrite.dll
最後重啟iis
rewrite.dll以及規則可以放入任何一個目錄,但記得要給該目錄一個users的讀權限。
以上就是shopex4.8和shopex4.7的規則以及配置方法。如果iis內有其它程序比如discuz、phpwind之類的,就可能會相互有影響,那麼就打開iis,
右鍵網站屬性--ISAPI 篩選器--刪除isapi_rewrite這項,因為這裡是對整個iis進行設置的,會造成其它程序的沖突。
注意isapi_rewrite3.0和isapi_rewrite2.0不能混用。
因為篇幅問題,現在再把shopex4.7/4.8、discuz6/NT2.5、ecshop、dvbbs、phpwind、wordpress、Discuz6+ecshop等偽靜態規則和組件打包進行下載。
以上設置都是針對租用了獨立服務器和vps的,在使用虛擬主機的就不用看了,因為作為服務商是應該做好了的,但目前還沒有出現對所有流行程序都支持的吧。