wordpress偽靜態的原理
首先起作用的是配置檔案的.htaccess 中的
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
這兩個的意思如果沒找到對應的檔案就訪問 index.php對應的檔案;舉個例就是 http://hcsem.com/wp 如果沒有wp這個資料夾就http://hcsem.com/index.php;然後通過內建的規則找到對應的動態地址;
內建規則;
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 偽靜態感覺更好;
link-template.php;是相當於根據內建的規則將網站中的連結的動態地址轉換成靜態地址;function _get_page_link 函式式替換單頁規則的;
本文轉自黃聰部落格園部落格,原文連結:http://www.cnblogs.com/huangcong/p/4770551.html,如需轉載請自行聯絡原作者
相關文章
- LNMP環境中WordPress程式偽靜態解決方案LNMP
- WordPress如何在win系統下實現偽靜態
- 偽靜態、靜態和動態的區別
- ASP.NET偽靜態及靜態ASP.NET
- Nginx偽靜態教程Nginx
- 網站偽靜態和純靜態區別網站
- nginx偽靜態檔案Nginx
- .NET偽靜態使用以及和純靜態的區別
- wordpress 加速主題的靜態資源
- Typecho程式偽靜態規則
- PHP重定向與偽靜態PHP
- 偽靜態配置apache 和nginxApacheNginx
- 網站提速-偽靜態(3)網站
- urlrewrite偽靜態匹配問題
- Nginx常用Rewrite偽靜態規則Nginx
- Apache偽靜態html(URLRewrite)設定法ApacheHTML
- Yii2配置Nginx偽靜態的方法Nginx
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-偽列SQL
- Yii框架在Nginx下的rewrite配置(偽靜態配置)框架Nginx
- python指令碼處理偽靜態注入Python指令碼
- sqlmap支援自動偽靜態批次檢測SQL
- Laravel 專案 偽靜態分頁處理Laravel
- 靜態路由原理與配置路由
- 徹底搞懂訪問者模式的靜態、動態和偽動態分派模式
- 帝國CMS 7.5 tags偽靜態設定教程
- .NET探索模型路由約定實現偽靜態模型路由
- 網站建設有必要做偽靜態嗎?網站
- wamp整合環境開啟rewrite偽靜態支援
- 偽靜態和重定向(apache)學習筆記Apache筆記
- 3、python指令碼處理偽靜態注入Python指令碼
- 從wordpress-cache外掛看web靜態HTML生成的策略WebHTML
- 網站二級目錄或者子目錄安裝WordPress偽靜態規則設定方法,伺服器為nginx網站伺服器Nginx
- Nginx/Apache之偽靜態設定 - 運維小結NginxApache運維
- 雲伺服器常用網站偽靜態規則伺服器網站
- python虛擬環境與偽靜態網頁Python網頁
- apache2.4.33偽靜態配置入門教程(1)Apache
- UrlReWrite(Url重寫或偽靜態)完美示例原始碼原始碼
- IIS7.0設定 url重寫成html(偽靜態)HTML