destoon之URL Rewrite(伪静态)设置方法详解

1、如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则。
规则(参考http://download.destoon.com/rewrite/htaccess.txt)为:

# Destoon B2B Rewrite RulesErrorDocument 404 /404.phpRewriteEngine OnRewriteBase /RewriteRule ^(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.phpRewriteRule ^(.*)/file/(.*)/.php(.*)$ /404.phpRewriteRule ^(.*)-htm-(.*)$ $1.php?$2RewriteRule ^(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$ $1/show.php?itemid=$2&page=$4RewriteRule ^(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$ $1/list.php?catid=$2&page=$4RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3RewriteRule ^(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$ $1/list.php?catid=$3&page=$4RewriteRule ^(.*)/([a-z]+)/(.*)/.shtml$ $1/$2/index.php?rewrite=$3RewriteRule ^(com)/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$ index.php?homepage=$2&file=$3&rewrite=$4RewriteRule ^(com)/([a-z0-9_/-]+)/([a-z]+)([/])?$ index.php?homepage=$2&file=$3RewriteRule ^(com)/([a-z0-9_/-]+)([/])?$ index.php?homepage=$2

2、如果是Apache服务器

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:

LoadModule rewrite_module  libexec/mod_rewrite.soAddModule mod_rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:

LoadModule rewrite_module  modules/mod_rewrite.so

如果存在,且以#开头,请删除#。然后在配置文件(通常就是 conf/httpd.conf或者conf/extra/httpd-vhosts.conf)中加入如下代码。
此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即<VirtualHost>中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。

Apache conf文件配置(参考http://download.destoon.com/rewrite/apache.txt)规则:

# Destoon B2B Rewrite RulesErrorDocument 404 /404.phpRewriteEngine OnRewriteBase /RewriteRule ^(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.phpRewriteRule ^(.*)/file/(.*)/.php(.*)$ /404.phpRewriteRule ^(.*)-htm-(.*)$ $1.php?$2RewriteRule ^(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$ $1/show.php?itemid=$2&page=$4RewriteRule ^(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$ $1/list.php?catid=$2&page=$4RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3RewriteRule ^(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$ $1/list.php?catid=$3&page=$4RewriteRule ^(.*)/([a-z]+)/(.*)/.shtml$ $1/$2/index.php?rewrite=$3RewriteRule ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$ $1/index.php?homepage=$2&file=$3&rewrite=$4RewriteRule ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)([/])?$ $1/index.php?homepage=$2&file=$3RewriteRule ^(.*)/com/([a-z0-9_/-]+)([/])?$ $1/index.php?homepage=$2

3、Nginx规则(参考http://download.destoon.com/rewrite/nginx.txt):

rewrite ^/(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php last;rewrite ^/(.*)/file/(.*)/.php(.*)$ /404.php last;rewrite ^/(.*)-htm-(.*)$ /$1.php?$2 last;rewrite ^/(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$ /$1/show.php?itemid=$2&page=$4 last;rewrite ^/(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$ /$1/list.php?catid=$2&page=$4 last;rewrite ^/(.*)/show/([0-9]+)/([0-9]+)?([/])?$ /$1/show.php?itemid=$2&page=$3 last;rewrite ^/(.*)/list/([0-9]+)/([0-9]+)?([/])?$ /$1/list.php?catid=$2&page=$3 last;rewrite ^/(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$ /$1/list.php?catid=$3&page=$4 last;rewrite ^(.*)/([a-z]+)/(.*)/.shtml$ $1/$2/index.php?rewrite=$3 last;rewrite ^/(com)/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$ /index.php?homepage=$2&file=$3&rewrite=$4 last;rewrite ^/(com)/([a-z0-9_/-]+)/([a-z]+)([/])?$ /index.php?homepage=$2&file=$3 last;rewrite ^/(com)/([a-z0-9_/-]+)([/])?$ /index.php?homepage=$2 last;

4、Zeus规则(参考http://download.destoon.com/rewrite/zeus.txt):

match URL into $ with ^(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ if matched then  set URL = /404.phpendifmatch URL into $ with ^(.*)/file/(.*)/.php(.*)$ if matched then  set URL = /404.phpendifmatch URL into $ with ^(.*)-htm-(.*)$ if matched then  set URL = $1.php?$2 endifmatch URL into $ with ^(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$ if matched then  set URL = $1/show.php?itemid=$2&page=$4 endifmatch URL into $ with ^(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$ if matched then  set URL = $1/list.php?catid=$2&page=$4 endifmatch URL into $ with ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ if matched then  set URL = $1/show.php?itemid=$2&page=$3 endifmatch URL into $ with ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ if matched then  set URL = $1/list.php?catid=$2&page=$3 endifmatch URL into $ with ^(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$if matched then  set URL = $1/list.php?catid=$3&page=$4endifmatch URL into $ with ^(.*)/([a-z]+)/(.*)/.shtml$ if matched then  set URL = $1/$2/index.php?rewrite=$3 endifmatch URL into $ with ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$ if matched then  set URL = $1/index.php?homepage=$2&file=$3&rewrite=$4 endifmatch URL into $ with ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)([/])?$ if matched then  set URL = $1/index.php?homepage=$2&file=$3 endifmatch URL into $ with ^(.*)/com/([a-z0-9_/-]+)([/])?$ if matched then  set URL = $1/index.php?homepage=$2 endif

5、IIS6服务器

请下载 http://download.destoon.com/rewrite/IIS_Rewrite.zip
规则已经设置好,按readme.txt文件内容进行操作
如果网站支持httpd.ini文件,请使用如下规则(参考http://download.destoon.com/rewrite/httpd.ini):

[ISAPI_Rewrite]# Destoon B2B www.destoon.com# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404/.phpRewriteRule ^(.*)/file/(.*)/.php(.*)$ /404/.phpRewriteRule ^(.*)-htm-(.*)$ $1/.php/?$2RewriteRule ^(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$ $1/show/.php/?itemid=$2&page=$4RewriteRule ^(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$ $1/list/.php/?catid=$2&page=$4RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show/.php/?itemid=$2&page=$3RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list/.php/?catid=$2&page=$3RewriteRule ^(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$ $1/list/.php/?catid=$3&page=$4RewriteRule ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$ $1/index/.php/?homepage=$2&file=$3&rewrite=$4RewriteRule ^(.*)/com/([a-z0-9_/-]+)/([a-z]+)([/])?$ $1/index/.php/?homepage=$2&file=$3RewriteRule ^(.*)/com/([a-z0-9_/-]+)([/])?$ $1/index/.php/?homepage=$2RewriteRule ^(.*)/([a-z]+)/(.*)/.shtml$ $1/$2/index/.php/?rewrite=$3

6、IIS7服务器

规则(参考http://download.destoon.com/rewrite/web.config.txt)为:

<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer>	<rewrite>   <rules>    <rule name="destoon_rewrite_0">      <match url="^(.*)/.(ASP|ASPx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$" />      <action type="Rewrite" url="/404.php" />    </rule>    <rule name="destoon_rewrite_1">      <match url="^(.*)/file/(.*)/.php(.*)$" />      <action type="Rewrite" url="/404.php" />    </rule>    <rule name="destoon_rewrite_2">      <match url="^(.*)-htm-(.*)$" />      <action type="Rewrite" url="{R:1}.php?{R:2}" />    </rule>     <rule name="destoon_rewrite_3">     <match url="^(.*)/show-([0-9]+)([/-])?([0-9]+)?/.html$" />     <action type="Rewrite" url="{R:1}/show.php?itemid={R:2}&page={R:4}" />    </rule>    <rule name="destoon_rewrite_4">     <match url="^(.*)/list-([0-9]+)([/-])?([0-9]+)?/.html$" />     <action type="Rewrite" url="{R:1}/list.php?catid={R:2}&page={R:4}" />    </rule>    <rule name="destoon_rewrite_5">     <match url="^(.*)/show/([0-9]+)/([0-9]+)?([/])?$" />     <action type="Rewrite" url="{R:1}/show.php?itemid={R:2}&page={R:3}" />    </rule>    <rule name="destoon_rewrite_6">     <match url="^(.*)/list/([0-9]+)/([0-9]+)?([/])?$" />     <action type="Rewrite" url="{R:1}/list.php?catid={R:2}&page={R:3}" />    </rule>    <rule name="destoon_rewrite_7">     <match url="^(.*)/([A-za-z0-9_/-]+)-c([0-9]+)-([0-9]+)/.html$" />     <action type="Rewrite" url="{R:1}/list.php?catid={R:3}&page={R:4}" />    </rule>    <rule name="destoon_rewrite_8">     <match url="^(com)/([a-z0-9_/-]+)/([a-z]+)/(.*)/.html$" />     <action type="Rewrite" url="index.php?homepage={R:2}&file={R:3}&rewrite={R:4}" />    </rule>    <rule name="destoon_rewrite_9">     <match url="^(com)/([a-z0-9_/-]+)/([a-z]+)([/])?$" />     <action type="Rewrite" url="index.php?homepage={R:2}&file={R:3}" />    </rule>    <rule name="destoon_rewrite_10">     <match url="^(com)/([a-z0-9_/-]+)([/])?$" />     <action type="Rewrite" url="index.php?homepage={R:2}" />    </rule>    <rule name="destoon_rewrite_11">      <match url="^([a-z]+)/(.*)/.shtml$" />      <action type="Rewrite" url="{R:1}/index.php?rewrite={R:2}" />    </rule>   </rules>  </rewrite>		 </system.webServer></configuration>


Rewrite生效后,请在网站后台=》网站设置=》SEO优化=》URL Rewrite,选择“开启”提交

然后进入各模块的模块设置“SEO设置”选择对应伪静态地址规则

选择“更新地址”提交即可。

php技术destoon之URL Rewrite(伪静态)设置方法详解,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。