Skip to main content
 首页 » 实用技术

Z-blog伪静态规则(含301重定向)

2016年06月06日 02:31:0314494

在使用Z-blog的过程中发现网上没有详细的伪静态教程,设置也不规范。

本文详细的介绍了zblog在各个环境下的伪静态规则和详细的URL配置。

并且针对百度结构化链接进行了优化,对搜索引擎极度友好,配合Z-blog简洁的代码,让你收录加速!

Z-blog


静态化选项

Z-blog静态化选项

模式:伪静态

  1. 文章的URL配置:{%host%}{%category%}/{%id%}.html

  2. 页面的URL配置:{%host%}{%alias%}.html

  3. 首页的URL配置:{%host%}page_{%page%}.html

  4. 分类页的URL配置:{%host%}{%alias%}_{%page%}

  5. 标签页的URL配置:{%host%}tags-{%id%}_{%page%}.html

  6. 日期页的URL配置:{%host%}date-{%date%}_{%page%}.html

  7. 作者页的URL配置:{%host%}author-{%id%}_{%page%}.html


*Apache规则

Apache伪静态规则

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(bzgame.cc)(:80)? [NC]

RewriteRule ^(.*) http://www.bzgame.cc/$1 [R=301,L]

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>


设置教程

  1. 创建一个空白记事本文件

  2. 将以上代码复制到记事本并保存

  3. 将文件上传到网站根目录

  4. 重命名文件为.htaccess

注:蓝色为301重定向代码,将bzgame.cc改为你的网址即可生效。


*IIS6规则

IIS6伪静态规则

[ISAPI_Rewrite]


RewriteRule /page_([0-9]*)\.html /index\.php\?page=$1&rewrite=1 [I,L]

RewriteRule /date-([0-9\-]+)(?:_)?([0-9]*)\.html /index\.php\?date=$1&page=$2&rewrite=1 [I,L]

RewriteRule /author-([0-9]+)(?:_)?([0-9]*)\.html /index\.php\?auth=$1&page=$2&rewrite=1 [I,L]

RewriteRule /tags-([0-9]+)(?:_)?([0-9]*)\.html /index\.php\?tags=$1&page=$2&rewrite=1 [I,L]

RewriteRule /([^\./_]*)(?:_)?([0-9]*) /index\.php\?cate=$1&page=$2&rewrite=1 [I,L]

RewriteRule /(?:[^\./_]*)/([0-9]+)\.html(\?.*)? /index\.php\?id=$1&rewrite=1 [I,L]

RewriteRule /(?!zb_)(.+)\.html(\?.*)? /index\.php\?alias=$1&rewrite=1 [I,L]


设置教程

  1. 创建一个空白记事本文件

  2. 将以上代码复制到记事本并保存  请选择ANSI编码

  3. 将文件上传到网站根目录

  4. 重命名文件为httpd.ini

注:httpd.ini文件必须为ANSI编码;ISAPI Rewrite 3请按Apache规则生成.


IIS6 301重定向设置

在IIS面板里新建一个站点,绑定bzgame.cc域名

此资源内容来自:选择重定向到URL 并输入www.bzgame.cc$S$Q

客户端将定向到:

  1. 勾选上面的输入准确URL

  2. 勾选资源永久重定向

点击确定生效

注:bzgame.cc改为你的域名


*IIS7/8规则

IIS7/8伪静态规则

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

 <system.webServer>

  <rewrite>

   <rules>

<rule name="/ 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="/ 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>


设置教程

  1. 创建一个空白记事本文件

  2. 将以上代码复制到记事本并保存

  3. 将文件上传到网站根目录

  4. 重命名文件为web.config


IIS7 301重定向

  1. 首先打开iis7服务器,找到原网站目录

  2. 点击要做http重定向的目录,选择http重定向

  3. 提示:如果没有http重定向这个选项,请按如下方法操作:在我的电脑–>右键“管理”–>拉下来到“角色摘要”,看到“Web服务器(IIS)”点击进入并拉下来到“角色服务”模块

  4. 双击http重定向后出现如下界面 .勾选”将请求重定向到此目标”,在里面填写要定向到的网址目录。重定向行为的中有两个选项,默认为勾选,取消勾选。“将所有请求重定向到确切的目标(而不是相对目标)”这个当你勾选后,定向网址将会直接转向到你指定的网址


IIS8 301重定向

  1. 在没有安装301重定向的功能下,请先安装301重定向的功能,首先打开你的服务器,接着打开你的服务器管理程序(有快捷方式的可以在桌面当中直接打开)

  2. 在服务器管理界面当中,可以看到仪表板,在仪表板选择第一项快速启动,接着点击添加角色和功能,进入到添加角色和功能向导界面。

  3. 在这个界面里左侧可以看到可以点击的3个选项分别是“开始之前"、”安装类型“、”服务器选择“这三个选项,而其他选项是灰色的。这里不用像刚开始安装的步骤一步一步的往下走,直接点击服务器选择,后面的选项就可以直接点击了,在这里我们选”服务器角色“,接着看右边的角色菜单栏找到,"

  4. Web服务器(IIS)”这块有个小箭头直接点击,弹出下拉菜单,在二级菜单栏当中找到“Web服务器”在点击这个小箭头弹出三级菜单栏,在三级菜单栏当中找到“常见HTTP功能”再次点击在弹出下拉菜单,在这里就可以看到"HTTP重定向“,在这个功能前打上对勾,在下面的选项点击安装,进行安装。

  5. 把你需要做重定向的域名解析到你的服务器上,这时候你用其它域名访问你网站的地址应该只是你新解析的域名,因为现在还有做重定向。

  6. 打开你的控制面板,找到管理工具

  7. 进入到管理工具界面当中,找到”IIS管理器“

  8. 进入到IIS管理器界面当中,在左边的菜单栏当中点击你的“服务器”旁边的小箭头弹出下拉菜单,在二级菜单栏当中选择“网站”。

  9. 选择完网站后,看最右边,点击“添加网站”。也可以在网站选上直接点击鼠标右键点击“添加网站”。

  10. 在选择IP地址上选择与重定向网站相同的IP地址(如果选择其它IP地址因没有测试过所以不知道是不是会出现什么问题),接着填写主机名,主机名直接填写你新解析的网站域名就可以。(在物理路径上最好创建一个新的路径进行匹配,使用相同的物理路径不知道会出现什么问题这个没有测试过)

  11. 选择新建好的网站在右边的界面当中找到已经安装好的“HTTP重定向”这个功能点击进入。

  12. 首先把你需要重定向的域名填写进去(这里需要注意的是,不是让你随便填写域名,而是需要你填写把你其它的域名重定向到指定的域名),然后在“将请求重定向到此目标”前面的方框中打钩即可。这时下面的“重定向行为”开启选项,在”仅将请求重定向到此目录(非子目录)中的内容“前面打钩。

  13. 在状态代码处下拉菜单中选”永久(301)。全部填写完成后在最右边选择应用,这时重定向操作全部完成。


*Nginx规则

Nginx伪静态规则

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 (.*) /index.php;

}


设置教程

  1. 创建一个空白记事本文件

  2. 将以上代码复制到记事本并保存

  3. 将文件上传到网站location / { }节点

  4. 重命名文件为nginx.conf


Nginx 301重定向设置

找到服务器下的nginx.conf文件

找到server段代码

server

{

listen       80;

server_name www.bzgame.cc bzgame.cc;

}

在server段域名下设置:

if ($host = 'bzgame.cc' ) {        rewrite ^/(.*)$ http://www.bzgame.cc/$1 permanent; }


重启nginx,这样我们就完成了nginx下301的跳转设置。

注:将bzgame.cc改为你的网址。


*Lighttpd规则

Lighttpd伪静态规则

# Rewrite rules

url.rewrite-if-not-file = (


"^/(zb_install|zb_system|zb_users)/(.*)" => "$0",


"^/(.*.php)" => "$0",


"^/(.*)$" => "/index.php/$0"


)


设置教程

方式一:主机控制面板的lighttpd加入以上代码

方式二:修改/etc/lighttpd/lighttpd.conf加入以上代码


Lighttpd 301重定向设置

在站点添加:url.redirect = ( "^/(.*)" => "http://www.bzgame.cc/$1" ) 

注:

  1. 不能再添加其他的了,lxadmin自动生成的需要删除的。

  2. 需要启用redirect模块

  3. bzgame.cc改为你的域名