商派的主打產(chǎn)品ShopEx 4.84已經(jīng)推出很久了??梢哉f這個(gè)產(chǎn)品是商城系統(tǒng)中的旗艦作品。用家可以根據(jù)自己的需要。建設(shè)自己的網(wǎng)店。在網(wǎng)上開展經(jīng)營活動(dòng)。但是做一個(gè)商城。很重要的一點(diǎn)就是要考慮到用戶體驗(yàn)。很多網(wǎng)民,其實(shí)是通過搜索引擎進(jìn)入我們的網(wǎng)店的。那么如何提高在搜索引擎中的排名,成了至關(guān)重要的一個(gè)環(huán)節(jié),這就是所謂的SEO.
ShopEx目前最好的運(yùn)行環(huán)境是在Linux+apache+php+mysql+zend.apache可以很好的支持偽靜態(tài)規(guī)則的制定。因?yàn)樗г粋€(gè)重要的模塊。就是mod_rewrite模塊。該模塊能解析用戶創(chuàng)建的 .htaccess 文件。該文件中可以制定很多用途。比如301重定向,302重定向,授權(quán)訪問加密,404,403,500等錯(cuò)誤頁面的定制,以及URL地址重寫。因?yàn)檫@里我們只是做ShopEx的偽靜態(tài),所以我們這里就只是用了URL地址重寫這個(gè)功能。
雖然官方一再推薦用家使用Linux搭配apache服務(wù)器作為運(yùn)行ShopEx的最佳環(huán)境,但是他似乎忘了一個(gè)問題,畢竟國內(nèi)用家,所需要運(yùn)行商城的空間很小。一般500M已經(jīng)足夠一個(gè)中規(guī)模的網(wǎng)店運(yùn)營,所以大部分人都租用虛擬主機(jī),而國內(nèi)的虛擬主機(jī)目前還是被Windows所壟斷.Linux服務(wù)器畢竟還是占少數(shù)。既然是Windows服務(wù)器,那么運(yùn)載php的大部分還是落在IIS身上。但是IIS本身并不支持Rewrite(URL地址重寫)。只能使用第三方軟件,這類軟件諸如isapi_rewrite.但是isapi_rewrite是收費(fèi)軟件,免費(fèi)版本卻在很多方面表現(xiàn)形如雞肋。例如isapi_rewrite2.0版本運(yùn)行ShopEx商城系統(tǒng)的時(shí)候。
根據(jù)最新的互聯(lián)網(wǎng)服務(wù)器占有率的報(bào)告中可以看到,nginx已經(jīng)取代了原本占據(jù)第三位置的Lighttpd服務(wù)器。成為繼apache和IIS之后的第三大服務(wù)器軟件。并且我們可以看到很多國內(nèi)網(wǎng)站正在或者正在向Nginx服務(wù)器領(lǐng)域移動(dòng)。像國內(nèi)的落伍者論壇,Discuz,新浪博客,6間房等。說明使用這類軟件的服務(wù)器還是存在的。而本篇文章中就涵蓋了這三個(gè)排名占前的服務(wù)器部署ShopEx偽靜態(tài)的方法。
先看一下Apache的偽靜態(tài)規(guī)則部署。由于apache是官方所推薦的服務(wù)器軟件,所以支持rewrite方面自然是很好的。但是還是要說一下。
Apache 的rewrite規(guī)則
RewriteEngine on
# 設(shè)置RewriteBase的值為你的商店目錄地址
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \。(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
rewrite啟用方法,就是把root.htaccess改名成.htaccess。
更改.htaccess文件中rewritebase為你url的前綴
然后我們進(jìn)入商場管理面板開啟偽靜態(tài)。如下圖所示。
當(dāng)然,以上步驟,如果您是apache服務(wù)器并且支持mod_rewrite模塊。可以直接到后臺(tái)開啟,程序會(huì)自動(dòng)在根目錄下生成.htaccess文件。當(dāng)然你要注意根目錄要有寫權(quán)限。
配置 IIS 和 Nginx 前請(qǐng)先查閱這里
由于官方并不推薦IIS作為商城系統(tǒng)的服務(wù)器程序,而且直接在后臺(tái)開啟偽靜態(tài)會(huì)跳出提示,告訴你的服務(wù)器不是Apache.不能開啟。但是我們依然可以繞過這個(gè)限制,需要修改一個(gè)文件,該文件位于/core/admin/controller/system/目錄下,我們需要修改ctl.tools.php這個(gè)文件。但是大家下載打開卻發(fā)現(xiàn)很多亂碼,根本不知道如何下手。其實(shí)這是經(jīng)過zend加密過的源碼,我們需要對(duì)其進(jìn)行解密。例如Dezender.這個(gè)軟件可以直接將經(jīng)過zend加密過的源碼還原成原來的文件。如下圖所示。
解密之后,我們需要對(duì)其進(jìn)行修改。在文本編輯器查里打開文件
在第70行找到這段:
if ( !strpos( $content, “[*[”.md5( $code )。“]*]” ) )
將其替換成
if ( false && !strpos( $content, "[*[".md5( $code )."]*]" ) ) |
就是在!strpos前面添加一個(gè)false,然后我們將這個(gè)文件上傳到服務(wù)器相應(yīng)位置。然后我們就能在后臺(tái)開啟偽靜態(tài)了。
注:此方法只適合ShopEx 4.84版本。
IIS 下配置Rewrite規(guī)則
完成以上步驟之后,我們需要開始配置了。首先.iis需要下載isapi_rewrite組件(注:這里必須下載isapi_rewrite 3 的版本.2.0的版本不支持RewriteCond語法。無法實(shí)現(xiàn)IIS下的ShopEx偽靜態(tài))。 下載地址是: http://theartemis.cn/download-isapi_rewrite.htm 下載ISAPI_Rewrite Lite for Windows NT4/2000/XP/2003 (Freeware?。┌姹揪秃?Lite版本是免費(fèi)版本。然后進(jìn)行安裝。安裝就不多說了。
然后安裝好之后,規(guī)則上與apache類似,直接復(fù)制到httpd.conf文件中即可。
[ISAPI_Rewrite] RepeatLimit 32 # 設(shè)置RewriteBase的值為你的商店目錄地址 將這個(gè)文件放在根目錄就好了. Nginx的 Rewrite 規(guī)則 Nginx的 Rewrite 規(guī)則 location / { 如果ShopEx放在其他目錄中,只需要將"/"換成相對(duì)目錄就可以了...例如放在shop文件夾中,如下面這個(gè)配置. location /shop/ { |
目前我還沒有在lighttpd中配置ShopEx 的偽靜態(tài)規(guī)則。如果lighttpd的fans的話??梢栽囋嚺渲靡幌?,這里提供一條線索。就是lighttpd的一個(gè)第三方模塊:lighttpd-mod-magnet.大家多多動(dòng)手。哈哈。
如果有其他疑問,可與我們?nèi)〉寐?lián)系。順便做一下廣告。國內(nèi)Windows主機(jī)市場中。有兩家Windows服務(wù)器商已經(jīng)可以完美支持ShopEx偽靜態(tài),西部數(shù)碼和八度數(shù)據(jù)。
原文鏈接:http://www.xmlchina.org/original-shopex-484-pseudo-static-method-as-well-as-covering-the-iis-server-nginx/
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇