使用Z-Blog搭建好一个网站后,怎么设置服务器的伪静态规则呢?其实Zblog官方在伪静态设置页面就给了Apache + .htaccess、IIS 7及以上 + URL Rewrite Module、IIS 6 + ISAPI Rewrite 2.X、Nginx、Lighttpd这些常见网站环境的伪静态规则,你还不会的话就看看本文吧。
文章目录
Zblog伪静态规则获取
一、登录ZBLOG后台后,点击插件管理,找到静态管理中心。
如果你没有静态管理中心,就自己去应用中心安装一个。
二、在设置界面选择伪静态,然后下面的规则你可以自己修改或者保持默认。
三、点击确定后,就会跳转到ReWrite规则界面。
四、把生成的伪静态规则添加到你网站的伪静态配置里面即可。
不同程序的Zblog伪静态规则
apache zblog伪静态规则
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /zixun/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /zixun/index.php [L] </IfModule>
把上面的内容保存为.htaccess
文件,然后上传到网站根目录就可以了。子目录规则同理。
IIS7 zblog伪静态规则
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="/zixun/ Z-BlogPHP Imported Rule" stopProcessing="true"> <match url="^.*?" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php/{R:0}" /> </rule> <rule name="/zixun/ Z-BlogPHP Imported Rule index.php" stopProcessing="true"> <match url="^index.php/.*?" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" /> </conditions> <action type="Rewrite" url="index.php/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
在网站 “当前目录” 创建web.config文件并把相关内容复制进去,子目录同理。
IIS6 zblog伪静态规则
[ISAPI_Rewrite] RewriteRule /zixun/page_([0-9]*)\.html /zixun/index\.php\?page=$1&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/date-([0-9\-]+)(?:_)?([0-9]*)\.html /zixun/index\.php\?date=$1&page=$2&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/author-([0-9]+)(?:_)?([0-9]*)\.html /zixun/index\.php\?auth=$1&page=$2&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/tags-([0-9]+)(?:_)?([0-9]*)\.html /zixun/index\.php\?tags=$1&page=$2&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/category-([0-9]+)(?:_)?([0-9]*)\.html /zixun/index\.php\?cate=$1&page=$2&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/post-([0-9]+)\.html(\?.*)? /zixun/index\.php\?id=$1&rewrite=1&full_uri=$0 [I,L] RewriteRule /zixun/([0-9]+)\.html(\?.*)? /zixun/index\.php\?id=$1&rewrite=1&full_uri=$0 [I,L]
请在网站根目录创建httpd.ini文件并把相关内容复制进去,httpd.ini文件必须为ANSI编码,也可以点击按钮生成.
提示:本规则用户可以加入自定义规则,将自己的目录或是文件排除过于广泛的重写之外.
提示:ISAPI Rewrite 3请按Apache规则生成.
Nginx zblog伪静态规则
if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /zixun/index.php; }
修改nginx.conf,在 location / { }节点 或者是 location [安装目录名称] / { }(子目录安装)节点间加入上述规则.
解释下就是,如果你zblog安装在子目录,那么对应的伪静态规则就是下面这样:
location /zblog/ { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /zixun/index.php; } }
你使用的是LNMP一键包的话,可以把上面的子目录伪静态规则单独保存为一个conf文件。例如zblog2.conf,然后在虚拟主机的配置文件里面引入就可以了。
include rewrite/zblog2.conf;
宝塔面板的话把子目录规则添加到现在的伪静态规则后面。
z-blog伪静态样式自定义
如果你对默认的Z-blog伪静态链接效果不满意,可以自己DIY,对应的参数如下:
1、文章的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%id%} :文章ID,文章ID和文章别名必须选择其中一个
- {%alias%} :文章别名,文章ID和文章别名必须选择其中一个
- {%year%} :文章年份,可选
- {%month%} :文章月份,可选
- {%category%} :文章所属分类别名,可选
2、页面的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%id%} :页面ID,页面ID和页面别名必须选择其中一个
- {%alias%} :页面别名,页面ID和页面别名必须选择其中一个
3、首页的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%page%} :分页码,必须
4、分类页的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%id%} :分类ID,分类ID和分类别名至少使用一个
- {%alias%} :分类别名,分类ID和分类别名至少使用一个
- {%page%} :分页码,必须
5、标签页的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%id%} :标签ID,标签ID和标签别名至少选择一个
- {%alias%} :标签别名,标签ID和标签别名至少选择一个
- {%page%} :分页码,必须
6、日期页的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%date%} :日期,必须
- {%page%} :分页码,必须
7、作者页的URL配置
可配置参数:
- {%host%} :网站地址,必须
- {%id%} :作者ID,必须
- {%page%} :分页码,必须