热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » AMPZ/Nginx/IIS发布安装 » IIS服务器以及Nginx下 ShopEx4.84伪静态

IIS服务器以及Nginx下 ShopEx4.84伪静态

论坛链接
  • IIS服务器以及Nginx下 ShopEx4.84伪静态
  • 发布时间:2009-04-21 17:14:22    浏览数:9449    发布者:superadmin    设置字体【   
商派的主打产品ShopEx 4.84已经推出很久了。可以说这个产品是商城系统中的旗舰作品。用家可以根据自己的需要。建设自己的网店。在网上开展经营活动。但是做一个商城。很重要的一点就是要考虑到用户体验。很多网民,其实是通过搜索引擎进入我们的网店的。那么如何提高在搜索引擎中的排名,成了至关重要的一个环节,这就是所谓的SEO.

ShopEx目前最好的运行环境是在Linux+apache+php+mysql+zend.apache可以很好的支持伪静态规则的制定。因为他支援一个重要的模块。就是mod_rewrite模块。该模块能解析用户创建的 .htaccess 文件。该文件中可以制定很多用途。比如301重定向,302重定向,授权访问加密,404,403,500等错误页面的定制,以及URL地址重写。因为这里我们只是做ShopEx的伪静态,所以我们这里就只是用了URL地址重写这个功能。

虽然官方一再推荐用家使用Linux搭配apache服务器作为运行ShopEx的最佳环境,但是他似乎忘了一个问题,毕竟国内用家,所需要运行商城的空间很小。一般500M已经足够一个中规模的网店运营,所以大部分人都租用虚拟主机,而国内的虚拟主机目前还是被Windows所垄断.Linux服务器毕竟还是占少数。既然是Windows服务器,那么运载php的大部分还是落在IIS身上。但是IIS本身并不支持Rewrite(URL地址重写)。只能使用第三方软件,这类软件诸如isapi_rewrite.但是isapi_rewrite是收费软件,免费版本却在很多方面表现形如鸡肋。例如isapi_rewrite2.0版本运行ShopEx商城系统的时候。

根据最新的互联网服务器占有率的报告中可以看到,nginx已经取代了原本占据第三位置的Lighttpd服务器。成为继apache和IIS之后的第三大服务器软件。并且我们可以看到很多国内网站正在或者正在向Nginx服务器领域移动。像国内的落伍者论坛,Discuz,新浪博客,6间房等。说明使用这类软件的服务器还是存在的。而本篇文章中就涵盖了这三个排名占前的服务器部署ShopEx伪静态的方法。

先看一下Apache的伪静态规则部署。由于apache是官方所推荐的服务器软件,所以支持rewrite方面自然是很好的。但是还是要说一下。

Apache 的rewrite规则

RewriteEngine on

# 设置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的前缀

然后我们进入商场管理面板开启伪静态。如下图所示。

IIS服务器以及Nginx下 ShopEx4.84伪静态



当然,以上步骤,如果您是apache服务器并且支持mod_rewrite模块。可以直接到后台开启,程序会自动在根目录下生成.htaccess文件。当然你要注意根目录要有写权限。

配置 IIS 和 Nginx 前请先查阅这里

由于官方并不推荐IIS作为商城系统的服务器程序,而且直接在后台开启伪静态会跳出提示,告诉你的服务器不是Apache.不能开启。但是我们依然可以绕过这个限制,需要修改一个文件,该文件位于/core/admin/controller/system/目录下,我们需要修改ctl.tools.php这个文件。但是大家下载打开却发现很多乱码,根本不知道如何下手。其实这是经过zend加密过的源码,我们需要对其进行解密。例如Dezender.这个软件可以直接将经过zend加密过的源码还原成原来的文件。如下图所示。

IIS服务器以及Nginx下 ShopEx4.84伪静态
      解密之后,我们需要对其进行修改。在文本编辑器查里打开文件

在第70行找到这段:

if ( !strpos( $content, “[*[”.md5( $code )。“]*]” ) )

将其替换成

if ( false && !strpos( $content, "[*[".md5( $code )."]*]" ) )

就是在!strpos前面添加一个false,然后我们将这个文件上传到服务器相应位置。然后我们就能在后台开启伪静态了。

注:此方法只适合ShopEx 4.84版本。

IIS 下配置Rewrite规则

完成以上步骤之后,我们需要开始配置了。首先.iis需要下载isapi_rewrite组件(注:这里必须下载isapi_rewrite 3 的版本.2.0的版本不支持RewriteCond语法。无法实现IIS下的ShopEx伪静态)。 下载地址是: http://www.helicontech.com/download-isapi_rewrite.htm 下载ISAPI_Rewrite Lite for Windows NT4/2000/XP/2003 (Freeware!)版本就好.Lite版本是免费版本。然后进行安装。安装就不多说了。

然后安装好之后,规则上与apache类似,直接复制到httpd.conf文件中即可。

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32
# Collected By weijingtai.com for shopex

# 设置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]

将这个文件放在根目录就好了.

Nginx的 Rewrite 规则
关于Nginx我之前在博客中已经介绍了很多次了.可以看一下Nginx简介.Nginx配置伪静态其实最简单了.在规则里添加判断是否存在文件或者目录(!-e),然后将它转发给根目录下的index.php进行处理就好了.这点跟WordPress的伪静态分配有点类似.

Nginx的 Rewrite 规则

location / {
if (!-e $request_filename) {
rewrite ^/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php?$1 last;
}
}

如果ShopEx放在其他目录中,只需要将"/"换成相对目录就可以了...例如放在shop文件夹中,如下面这个配置.

location /shop/ {
if (!-e $request_filename) {
rewrite ^/shop/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ /shop/index.php?$1 last;
}
}


目前我还没有在lighttpd中配置ShopEx 的伪静态规则。如果lighttpd的fans的话。可以试试配置一下,这里提供一条线索。就是lighttpd的一个第三方模块:lighttpd-mod-magnet.大家多多动手。哈哈。

如果有其他疑问,可与我们取得联系。顺便做一下广告。国内Windows主机市场中。有两家Windows服务器商已经可以完美支持ShopEx伪静态,西部数码和八度数据。

原文链接:http://www.xmlchina.org/original ... e-iis-server-nginx/
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理