精華 z-blog或者其他CMS在二級目錄偽靜態規則的設置方法分享
在成功使用Z-Blog搭建網站后,為了優化URL結構、提升搜索引擎友好度及用戶體驗,設置服務器的偽靜態規則變得尤為重要。幸運的是,Z-Blog官方非常貼心地在其偽靜態設置頁面中提供了針對多種常見服務器環境的偽靜態規則配置示例,包括Apache(通過.htaccess文件)、IIS 7及以上版本(利用URL Rewrite Module)、IIS 6(結合ISAPI Rewrite 2.X)、Nginx以及Lighttpd。以下是如何根據你所使用的服務器環境來設置偽靜態規則的簡要指南:
Zblog偽靜態規則獲取
一、登錄ZBLOG后臺后,點擊插件管理,找到靜態管理中心。
zblog偽靜態規則
二、在設置界面選擇偽靜態,然后下面的規則你可以自己修改或者保持默認。
zblog偽靜態規則
zblog偽靜態規則
四、把生成的偽靜態規則添加到你網站的偽靜態配置里面即可。
不同程序的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%} :分頁碼,必須