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

前端技术 2023/09/07 PHP

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设置”选择对应伪静态地址规则

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

本文地址:https://www.stayed.cn/item/19543

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。