日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
wordpress規(guī)則 wordpress!

如何在WordPress中自定義URL規(guī)則

大體實現(xiàn)如下:

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站建設、成都網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的龍亭網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

1. 固定鏈接URL定義為: /health/A/

2. 實際URL為:index.php?category_name=idx=

實際代碼如下:

# 找到模板目錄下面的functions.php 添加下面代碼

function add_query_vars($aVars) {

$aVars[] = "idx";

return $aVars;

}

// hook add_query_vars function into query_vars

add_filter('query_vars', 'add_query_vars');

function add_rewrite_rules($aRules) {

$aNewRules = array('(health)/([^/]+)/?$' = 'index.php?category_name=$matches[1]idx=$matches[2]');

$aRules = $aNewRules + $aRules;

return $aRules;

}

// hook add_rewrite_rules function into rewrite_rules_array

add_filter('rewrite_rules_array', 'add_rewrite_rules');

到這里已經實現(xiàn)自定義URL規(guī)則的固定鏈接。

那么如何獲取URL中的參數(shù)呢? 其實知道這是Wordpress自身的路由實現(xiàn)就好明白了。 既然是WP的路由,那么我們就像別的框架一樣使用WP的獲取URL的參數(shù)的訪問就可以了。

在需要獲取idx參數(shù)值的寂寞中,如下代碼就可以得到了:

#打印所有參數(shù)

var_dump($wp_query-query_vars);

#取得idx參數(shù)和值

$idx = get_query_var('idx');

如何在wordpress中創(chuàng)建配置自己的重寫規(guī)則

關于wordpress的重寫規(guī)則,可以查看wp-includes/rewrite.php源碼

wordpress通過flush_rewrite_rules向options數(shù)據(jù)表保存規(guī)則內容

通常,使用add_rewrite_rule這個函數(shù)即可實現(xiàn)簡單的重寫規(guī)則的添加動作;

還有add_rewrite_tag、add_permastruct等等,不過這些在應用簡單的重寫規(guī)則時沒有add_rewrite_rule來得直接。

需要注意的是,add_rewrite_rule之后要想起到預期的效果,必須執(zhí)行flush_rewrite_rules動作,但不建議利用代碼多次執(zhí)行flush操作。

而應該在需要的時候再執(zhí)行,比如插件啟用時由register_activation_hook這個鉤子發(fā)起該動作,或者需要時再到后臺固定鏈接里點保存按鈕也可以實現(xiàn)該動作。

-- 舉例 --

比如新創(chuàng)建個movies頁面,用來介紹指定的電影信息,則該頁面的完整url地址應為:

;movie_name=killbill

movie_name是想傳入的參數(shù)

現(xiàn)在需重寫為

步驟:

1、add_rewrite_rule

add_action(?'init',?'wpdit_bq1579112796568320460'?);

function?wpdit_bq1579112796568320460()?{

//?添加該規(guī)則后需手動執(zhí)行flush?write?rules,參考上面的說明

add_rewrite_rule(

//?該正則用來匹配傳入的URL

'movies/([^/]+)/?',

//?`pagename`?代表這是個頁面

//?`movie_name`?用來保存匹配到內容

'index.php?pagename=moviesmovie_name=$matches[1]',

//?rewrite?rules提供的其實是一組數(shù)組用來匹配傳入的URL

//?所以,當有近似的正則匹配時,總是第1個匹配到的被返回

//?因這個重寫規(guī)則為后加的特定規(guī)則,故將此添加到頂部

'top'?);

}

2、wordpress內置了一組查詢變量存于query_vars,不在其內的變量會被忽略;

所以需事先告訴wordpress關于movie_name是什么,并允許movie_name這個變量以便后面的引用。

添加方法:

add_filter(?'query_vars',?'wpdit_bq1579112796568320460_query_vars'?);

function?wpdit_bq1579112796568320460_query_vars(?$query_vars?)

{

$query_vars[]?=?'movie_name';

return?$query_vars;

}

最后,后臺設置固定鏈接里,點擊保存按鈕后就可以訪問試試效果了。

在當前皮膚的page.php里置入下面的代碼:

echo?get_query_var('movie_name');

看能否顯示出killbill.

wordpress靜態(tài)規(guī)則怎么設置

檢測主機是否支持偽靜態(tài)的方法:在WP后臺 設置 固定鏈接,設置為?非默認帶?的那種結構,然后訪問任何一篇文章,如果出現(xiàn) 404 錯誤,說明你的主機當前不支持 WordPress 偽靜態(tài)。

IIS偽靜態(tài)規(guī)則

IIS 環(huán)境是 Windows 主機常用的服務器環(huán)境,新建一個 txt 文件,將下面的代碼添加到文件中:

[ISAPI_Rewrite]

#?Defend?your?computer?from?some?worm?attacks

#RewriteRule?.*(?:global.asa|default\.ida|root\.exe|\.\.).*?.?[F,I,O]

#?3600?=?1?hour

CacheClockRate?3600

RepeatLimit?32

#?Protect?httpd.ini?and?httpd.parse.errors?files

#?from?accessing?through?HTTP

#?Rules?to?ensure?that?normal?content?gets?through

RewriteRule?/tag/(.*)?/index\.php\?tag=$1

RewriteRule?/software-files/(.*)?/software-files/$1?[L]

RewriteRule?/images/(.*)?/images/$1?[L]

RewriteRule?/sitemap.xml?/sitemap.xml?[L]

RewriteRule?/favicon.ico?/favicon.ico?[L]

#?For?file-based?wordpress?content?(i.e.?theme),?admin,?etc.

RewriteRule?/wp-(.*)?/wp-$1?[L]

#?For?normal?wordpress?content,?via?index.php

RewriteRule?^/$?/index.php?[L]

RewriteRule?/(.*)?/index.php/$1?[L]

然后另存為 httpd.ini 文件,上傳到WordPress站點的根目錄即可。

Apache偽靜態(tài)規(guī)則

Apache是 Linux 主機下常見的環(huán)境,現(xiàn)在一般的 Linux 虛擬主機都采用這種環(huán)境。新建一個 htaccess.txt 文件,添加下面的代碼:

IfModule?mod_rewrite.c

RewriteEngine?On

RewriteBase?/

RewriteRule?^index\.php$?-?[L]

RewriteCond?%{REQUEST_FILENAME}?!-f

RewriteCond?%{REQUEST_FILENAME}?!-d

RewriteRule?.?/index.php?[L]

/IfModule

然后上傳到 WordPress 站點的根目錄,重命名為 .htaccess 即可

Nginx偽靜態(tài)規(guī)則

Nginx環(huán)境一般是Linux 主機 VPS或服務器用戶用的比較多,這些用戶一般都會自己配置Nginx,或者有專門的人幫你配置,打開 nginx.conf 或者某個站點的配置環(huán)境,比如 wpdaxue.com.conf(不同人配置的不一樣),在? server?? { } 大括號里面添加下面的代碼:

location?/?{

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;

}

}

保存,重啟 Nginx 即可。


當前文章:wordpress規(guī)則 wordpress!
本文鏈接:http://www.dlmjj.cn/article/dohpdjc.html