当前位置: 移动技术网 > IT编程>开发语言>PHP > destoon之URL Rewrite(伪静态)设置方法详解

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

2019年03月23日  | 移动技术网IT编程  | 我要评论

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

# destoon b2b rewrite rules
errordocument 404 /404.php
rewriteengine on
rewritebase /
rewriterule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php
rewriterule ^(.*)/file/(.*)\.php(.*)$ /404.php
rewriterule ^(.*)-htm-(.*)$ $1.php?$2
rewriterule ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ $1/show.php?itemid=$2&page=$4
rewriterule ^(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ $1/list.php?catid=$2&page=$4
rewriterule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3
rewriterule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3
rewriterule ^(.*)/([a-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$ $1/list.php?catid=$3&page=$4
rewriterule ^(.*)/([a-z]+)/(.*)\.shtml$ $1/$2/index.php?rewrite=$3
rewriterule ^(com)/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ index.php?homepage=$2&file=$3&rewrite=$4
rewriterule ^(com)/([a-z0-9_\-]+)/([a-z]+)([/])?$ index.php?homepage=$2&file=$3
rewriterule ^(com)/([a-z0-9_\-]+)([/])?$ index.php?homepage=$2

2、如果是apache服务器

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

loadmodule rewrite_module  libexec/mod_rewrite.so
addmodule 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 rules
errordocument 404 /404.php
rewriteengine on
rewritebase /
rewriterule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php
rewriterule ^(.*)/file/(.*)\.php(.*)$ /404.php
rewriterule ^(.*)-htm-(.*)$ $1.php?$2
rewriterule ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ $1/show.php?itemid=$2&page=$4
rewriterule ^(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ $1/list.php?catid=$2&page=$4
rewriterule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3
rewriterule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3
rewriterule ^(.*)/([a-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$ $1/list.php?catid=$3&page=$4
rewriterule ^(.*)/([a-z]+)/(.*)\.shtml$ $1/$2/index.php?rewrite=$3
rewriterule ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ $1/index.php?homepage=$2&file=$3&rewrite=$4
rewriterule ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)([/])?$ $1/index.php?homepage=$2&file=$3
rewriterule ^(.*)/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.php
endif
match url into $ with ^(.*)/file/(.*)\.php(.*)$ 
if matched then 
 set url = /404.php
endif
match url into $ with ^(.*)-htm-(.*)$ 
if matched then 
 set url = $1.php?$2 
endif
match url into $ with ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ 
if matched then 
 set url = $1/show.php?itemid=$2&page=$4 
endif
match url into $ with ^(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ 
if matched then 
 set url = $1/list.php?catid=$2&page=$4 
endif
match url into $ with ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ 
if matched then 
 set url = $1/show.php?itemid=$2&page=$3 
endif
match url into $ with ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ 
if matched then 
 set url = $1/list.php?catid=$2&page=$3 
endif
match url into $ with ^(.*)/([a-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$
if matched then 
 set url = $1/list.php?catid=$3&page=$4
endif
match url into $ with ^(.*)/([a-z]+)/(.*)\.shtml$ 
if matched then 
 set url = $1/$2/index.php?rewrite=$3 
endif
match url into $ with ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ 
if matched then 
 set url = $1/index.php?homepage=$2&file=$3&rewrite=$4 
endif
match url into $ with ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)([/])?$ 
if matched then 
 set url = $1/index.php?homepage=$2&file=$3 
endif
match 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 hour
cacheclockrate 3600

repeatlimit 32

# protect httpd.ini and httpd.parse.errors files
# from accessing through http
rewriterule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404\.php
rewriterule ^(.*)/file/(.*)\.php(.*)$ /404\.php
rewriterule ^(.*)-htm-(.*)$ $1\.php\?$2
rewriterule ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ $1/show\.php\?itemid=$2&page=$4
rewriterule ^(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ $1/list\.php\?catid=$2&page=$4
rewriterule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show\.php\?itemid=$2&page=$3
rewriterule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list\.php\?catid=$2&page=$3
rewriterule ^(.*)/([a-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$ $1/list\.php\?catid=$3&page=$4
rewriterule ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ $1/index\.php\?homepage=$2&file=$3&rewrite=$4
rewriterule ^(.*)/com/([a-z0-9_\-]+)/([a-z]+)([/])?$ $1/index\.php\?homepage=$2&file=$3
rewriterule ^(.*)/com/([a-z0-9_\-]+)([/])?$ $1/index\.php\?homepage=$2
rewriterule ^(.*)/([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设置”选择对应伪静态地址规则

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网