destoon在各个服务器下设置URL Rewrite(伪静态)的方法


Posted in Servers onJune 21, 2014

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)中加入如下代码。
此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 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">
    </action></match></rule>
    <rule name="destoon_rewrite_1">
      <match url="^(.*)/file/(.*)\.php(.*)$">
      <action type="Rewrite" url="/404.php">
    </action></match></rule>
    <rule name="destoon_rewrite_2">
      <match url="^(.*)-htm-(.*)$">
      <action type="Rewrite" url="{R:1}.php?{R:2}">
    </action></match></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}&amp;page={R:4}">
    </action></match></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}&amp;page={R:4}">
    </action></match></rule>
    <rule name="destoon_rewrite_5">
     <match url="^(.*)/show/([0-9]+)/([0-9]+)?([/])?$">
     <action type="Rewrite" url="{R:1}/show.php?itemid={R:2}&amp;page={R:3}">
    </action></match></rule>
    <rule name="destoon_rewrite_6">
     <match url="^(.*)/list/([0-9]+)/([0-9]+)?([/])?$">
     <action type="Rewrite" url="{R:1}/list.php?catid={R:2}&amp;page={R:3}">
    </action></match></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}&amp;page={R:4}">
    </action></match></rule>
    <rule name="destoon_rewrite_8">
     <match url="^(com)/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$">
     <action type="Rewrite" url="index.php?homepage={R:2}&amp;file={R:3}&amp;rewrite={R:4}">
    </action></match></rule>
    <rule name="destoon_rewrite_9">
     <match url="^(com)/([a-z0-9_\-]+)/([a-z]+)([/])?$">
     <action type="Rewrite" url="index.php?homepage={R:2}&amp;file={R:3}">
    </action></match></rule>
    <rule name="destoon_rewrite_10">
     <match url="^(com)/([a-z0-9_\-]+)([/])?$">
     <action type="Rewrite" url="index.php?homepage={R:2}">
    </action></match></rule>
    <rule name="destoon_rewrite_11">
      <match url="^([a-z]+)/(.*)\.shtml$">
      <action type="Rewrite" url="{R:1}/index.php?rewrite={R:2}">
    </action></match></rule>
   </rules>
  </rewrite>		
 </system.webserver>
</configuration>

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

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

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


Tags in this post...

Servers 相关文章推荐
为什么 Nginx 比 Apache 更牛逼
Mar 31 Servers
阿里云Nginx配置https实现域名访问项目(图文教程)
Mar 31 Servers
详解nginx.conf 中 root 目录设置问题
Apr 01 Servers
Nginx Rewrite使用场景及配置方法解析
Apr 01 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
nginx共享内存的机制详解
Mar 21 Servers
Kubernetes关键组件与结构组成介绍
Mar 31 Servers
IIS服务器中设置HTTP重定向访问HTTPS
Apr 29 Servers
Nginx 常用配置
May 15 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
Nginx实现反向代理
Sep 20 #Servers
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
nginx 设置多个站跨域
Mar 09 #Servers
使用Apache的rewrite
Mar 09 #Servers
Apache站点配置SSL强制跳转443
Mar 09 #Servers
Apache压力测试工具的安装使用
Nginx同一个域名配置多个项目的实现方法
Mar 31 #Servers
You might like
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
保密承诺书范文
2014/03/27 职场文书
酒店管理求职信范文
2014/04/06 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
治超工作实施方案
2014/05/04 职场文书
应届毕业生求职信
2014/05/26 职场文书
模具专业自荐信
2014/05/29 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
小学六一主持词开场白
2015/05/28 职场文书
小英雄雨来观后感
2015/06/09 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android