今天写个完整关于destoon URL Rewrite(伪静态)设置方法,希望对广大朋友有所帮助
1、如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则。
规则详情:
# Destoon B2B Rewrite Rules Errordocument 404 /404.php RewriteEngine On Rewritebase / RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php RewriteRule ^(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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 ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5 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文件配置规则
# Destoon B2B Rewrite Rules Errordocument 404 /404.php RewriteEngine On Rewritebase / RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php RewriteRule ^(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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 ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5 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规则
rewrite ^/(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php last; rewrite ^/(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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 ^/(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /$1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5 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规则
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 ^(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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 ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ if matched then set URL = $1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5 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服务器
请下载 https://download.destoon.com/rewrite/IIS_Rewrite.zip
规则已经设置好,按readme.txt文件内容进行操作
如果网站支持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 ^(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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 ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?moduleid=$2&catid=$3&itemid=$4&page=$5 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
7、IIS7服务器
请参考
<?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="^(.*)/(admin|cache|editor|file|include|lang|module|skin|template)/(.*)\.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="^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php?moduleid={R:2}&catid={R:3}&itemid={R:4}&page={R:5}" />
</rule>
<rule name="destoon_rewrite_9">
<match url="^([a-z]+)/(.*)\.shtml\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php?rewrite={R:2}" />
</rule>
<rule name="destoon_rewrite_10">
<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_11">
<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_12">
<match url="^(com)/([a-z0-9_\-]+)([/])?$" />
<action type="Rewrite" url="index.php?homepage={R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>V6.0手机版伪静态规则不生效,提示Error Loading
以下说明仅适用于6.0版本,自7.0手机版规则与主站设置保持一致即可。
系统mobile目录已经内置.htaccess文件,如果服务器不支持.htaccess,需要手动设置伪静态规则。
经过测试,受不同服务器软件版本、是否绑定二级域名等因素影响,不同服务器对规则的解析存在差异。
以下为各服务器伪静态规则的两种写法,如果第一条写法不生效,试试第二条写法。
Apache
1.
RewriteRule ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5
2.
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ index.php?moduleid=$1&catid=$2&itemid=$3&page=$4
Nginx
1.
rewrite ^/(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /$1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5 last;
2.
rewrite ^/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /index.php?moduleid=$1&catid=$2&itemid=$3&page=$4 last;
IIS6
1.
RewriteRule ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?moduleid=$2&catid=$3&itemid=$4&page=$5
2.
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ index\.php\?moduleid=$1&catid=$2&itemid=$3&page=$4
IIS7+
1.
<match url="^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="{R:1}/index.php?moduleid={R:2}&catid={R:3}&itemid={R:4}&page={R:5}"/>
2.
<match url="^([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
<action type="Rewrite" url="index.php?moduleid={R:1}&catid={R:2}&itemid={R:3}&page={R:4}"/>
Zeus
1.
match URL into $ with ^(.*)/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$
if matched then
set URL = $1/index.php?moduleid=$2&catid=$3&itemid=$4&page=$5
endif
2.
match URL into $ with ^([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$
if matched then
set URL = index.php?moduleid=$1&catid=$2&itemid=$3&page=$4
endif手机版本属于特殊的独立站点,建议有条件的用户绑定二级域名。
Rewrite生效后,请在网站后台 网站设置 SEO优化 URL Rewrite 选择开启 提交
然后进入各模块的模块设置 SEO设置 选择对应伪静态地址规则
选择更新地址 提交



