黃聰 wordpress偽靜態的原理

2021-09-08 11:17:45 字數 1261 閱讀 2797

首先起作用的是配置檔案的.htaccess 中的

rewriteengine on

rewritebase /

rewriterule ^index\.php$ - [l]

rewritecond % !-f

rewritecond % !-d

rewriterule . /index.php [l]

這兩個的意思如果沒找到對應的檔案就訪問 index.php對應的檔案;舉個例就是 如果沒有wp這個資料夾就然後通過內建的規則找到對應的動態位址;

wordpress部落格wp-includes資料夾下的taxonomy.php;中的 create_initial_taxonomies()函式建立文章分類category偽靜態的初始資料;

wordpress部落格wp-includes資料夾下的rewrite.php 是整個偽靜態的核心檔案中的 rewrite_rules()是生成偽靜態的總函式;他執行一次就是將所有偽靜態規則生成後寫入wp_options這個資料庫中option_name是rewrite_rules;這個函式中一排$date_rewrite = $this->generate_rewrite_rules 是生成各鏈結的規則;

$this->rules = array_merge($robots_rewrite, $old_feed_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite,  $author_rewrite, $date_rewrite,  $post_rewrite, $this->extra_rules,$page_rewrite,$this->extra_rules_top);

上面這個就是將每個的規則合併起來;我移動了紅色的陣列;就是規則的順序從新排列了哈;讓他能適合我的靜態規則;這裡打個比喻;偽靜態的正冊表示式就相當 於在池塘裡面用漁網捕魚;最前面的網要大;而且最後有一些特殊要求;有的只能撈紅色的魚;有的只能撈黃色的鯉魚;記住;撈黃色鯉魚的網一定要在撈黃色魚網 的前面;不然黃色的鯉魚就被撈走了 就會出現黃色鯉魚撈不到;而有一種網是只要是魚就能撈起來;所以這個一定要在最後面;去掉category的規則偽靜態規則有個事"(.+?)/?$" ; 懂正則的都知道這個能匹配所有訪問網域名稱;所以我就改變了排列順序;把這個規則移動到了最後面;而單頁面的偽靜態有個規則是(.?.+?)(/[0-9]+)?/?$它也能匹配所有的;所以我就把這個改編了哈;加了個.html 偽靜態感覺更好;

Nginx設定wordpress偽靜態的方法示例

摘點度娘對偽靜態的解釋 偽靜態是相對真實靜態www.cppcns.com來講的,通常我們為了增強搜尋引擎的友好面,都將文章內容生成靜態頁面,但是有的朋友為了實時的顯示一些資訊。或者還想foriprcka運用動態指令碼解決一些問題。不能用靜態的方式來展示 內容。但是這就損失了對搜尋引擎的友好面。怎麼樣...

wordpress設定偽靜態及設定後出現問題

一 如何設定給wordress設定偽靜態?二 設定了偽靜態後,出現了404not found nginx 可能每種情況的處理方式是不同的,我這情況就是原先wordpress的配置不夠完整 在你原先的伺服器裡找到wordpress.conf 這個檔案我的路徑是usr local nginx conf ...

黃聰 雲端虛擬化技術的應用

雲端採用的應用虛擬化技術,與目前較為人熟知的硬體虛擬化 machine virtualization,如vmware virtual pc等 作業系統虛擬化 os virtualization,如virtuozzo等 不同,雲端的應用虛擬化更輕量級,更適用於桌面和應用程式等的虛擬化,為pc領域帶來更...