destoon之URL Rewrite(伪静态)设置方法详解
本文导语: 1、如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则。 规则(参考http://download.destoon.com/rewrite/htaccess.txt)为: # Destoon B2B Rewrite Rules ErrorDocument 404 /404.php RewriteEngine On RewriteBase / RewriteRule ^(....
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)为:
Rewrite生效后,请在网站后台=》网站设置=》SEO优化=》URL Rewrite,选择“开启”提交。
然后进入各模块的模块设置“SEO设置”选择对应伪静态地址规则
选择“更新地址”提交即可。