仁川網絡致力于:青島seo,青島網站優化,青島網絡營銷,青島網絡推廣,青島營銷型網站建設,青島網站制作,青島外貿網站建設,青島google谷歌優化,青島百度優化,青島關鍵詞優化排名.

仁川網絡熱線
熱門推薦:沛縣SEO  平陽SEO  永城SEO  青島網站優化  伊春SEO  秦皇島SEO  高密SEO  博興SEO  瓊中SEO  松滋SEO  南充SEO  鹿邑SEO  如東SEO  黑帽SEO培訓  宿遷SEO  臺灣SEO  石獅SEO  泉州SEO  

重庆时时彩计划33:WordPress偽靜態.htaccess全解析

  wordpress中實現WordPress偽靜態及永久鏈接(Permalink)至關重要。同時可以實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。下面我們就來看看如何配制htaccess。

 

  以下是Wordpress中默認的htaccess內容。我們一一來看一下每一行的作用。

  RewriteEngine On RewriteBase /

  RewriteRule ^index\.php$ – [L]

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

  第一行用來判斷Apache中是否安裝了rewrite???。如果存在rewrite???,“RewriteEngine On” 則用來開啟rewrite???。

  “RewriteBase /” 用來表示Apache要對URL重寫的部分。比方站點為//renchuan.com/。RewriteBase后面為“/”時,表示對主域名下面的所有子路徑進行重寫,如果是“/blog/” 是只會對//renchuan.com/blog/后面的部分進行重寫。

  RewriteCond表示重寫URL應滿足的一些條件,RewriteRule 后面的第一個參數表示要重寫的URL滿足的規則(正則表達式),第二個參數表示重寫后的URL。最后的那個[L]表示表明當前規則是最后一條規則,停止分析以后規則的重寫。(方框內還可以支持很多其它參數,我們會在下面介紹)

  所以“RewriteRule ^index\.php$ – [L]”表示若當前請求的URL恰好為index.php,則不要進行后面的判斷了。

  “RewriteCond %{REQUEST_FILENAME} !-f”和“RewriteCond %{REQUEST_FILENAME} !-d”表示當前的URL并不是一個文件(-f)或目錄(-d)。當這兩個條件同時滿足時,最后一條“RewriteRule . /index.php [L]”會把所有請求都重寫為index.php。

  從這里我們可以看出,wordpress默認把所有不指到靜態文件或目錄的url全部重寫到了index.php,然后由index.php統一處理請求。

  剛才我們提到了[L]的作用,其實RewriteRule還支持很多其它參數,包括:

  R 強制外部重定向,后面可以代301或302跳轉。

  F 禁用URL,返回403HTTP狀態碼。

  G 強制URL為GONE,返回410HTTP狀態碼。

  P 強制使用代理轉發。

  L 表明當前規則是最后一條規則,停止分析以后規則的重寫。

  N 重新從第一條規則開始運行重寫過程。

  C 與下一條規則關聯。

  T=MIME-type(force MIME type) 強制MIME類型。

  NS 只用于不是內部子請求。

  NC 不區分大小寫。

  QSA 追加請求字符串。

  NE 不在輸出轉義特殊字符。

  htaccess在Wordpress中的一些使用技巧

  上面講了一下Wordpress中.httaccess的基本用途,其實利用htaccess文件還可以幫助我們完成很多其它的工作。下面我來介紹其中一些常用的功能,更多的讀者可以自己去嘗試。

  域名跳轉

  有些時候,我們會想把www.owrhu.icu的域名全部跳轉到七星彩计划 www.owrhu.icu下。這個時候htaccess就可以派上用場了。

  在.htaccess文件中添加類似下面的代碼:(下面這段代碼在網站更換域名時,也同樣使用)

  RewriteCond %{HTTP_HOST} ^renchuan\.com [NC]

  RewriteRule ^(.*)$ //www.owrhu.icu/$1 [L,R=301]

  類似的還可以用htacess也可以用來更換URL的目錄結構,這個在Category名字被更換時特別有用:

  RewriteRule ^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,L]

  注:R后面的301表示此跳轉為永久跳轉,也可以根據實際情況該成臨時跳轉(302)。

  防盜鏈

  圖片的盜鏈可能是很多站長最為頭痛的事情,自己的圖片被人白白拿去不說,還會免費占用了自己網站的資源,使用htaccess文件同樣可以實現防盜鏈的功能。代碼如下:

  RewriteEngine On RewriteCond %{HTTP_REFERER} !^//renchuan.com/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^//www.owrhu.icu$ [NC]

  RewriteCond %{HTTP_REFERER} !^//www.owrhu.icu/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^//www.owrhu.icu$ [NC]

  RewriteRule .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ //www.owrhu.icu/404.html [R,NC]

  這段代碼會判斷請求的referer,如果鏈接不是從本站點擊過來的,默認都會跳轉到一個404頁面。在RewriteRule中指定了要防盜鏈的文件類型。

  防止垃圾評論

  例用htaccess同樣可以防止一部分來源不明的垃圾評論:

  RewriteEngine On RewriteCond %{REQUEST_METHOD} POST

  RewriteCond %{REQUEST_URI} .wp-comments-post\.php*

  RewriteCond %{HTTP_REFERER} !.*www.owrhu.icu.* [OR]

  RewriteCond %{HTTP_USER_AGENT} ^$

  RewriteRule (.*) ^//renchuan.com/$ [R=301,L]

  這段代碼,判斷一個POST請求是否是由瀏覽器發出的(判斷HTTP_USER_AGENT是否為空),并且Refer是否本站的,只要其中任意一個條件不滿足,就將請求自動跳轉到首頁。

  注意,這段代碼只適用于Wordpress,其實的框架可以根據其具體情況把wp-comments-post修改成對應的URL。

  只允許自己訪問Wordpress的后臺

  如果你有一個固定的IP,那么你完全可以在htaccess中設定只有自己能訪問Wordpress的后臺。在wp-admin目錄下建立一個新的.htaccess文件,里面寫入如下代碼:

  AuthUserFile /dev/null AuthGroupFile /dev/null AuthType Basic order deny,allow deny from all

  # xx.xx.xx.xx為您的IP,您也以設定多個IP。 allow from xx.xx.xx.xx allow from xx.xx.xx.xxx

  注:對于這段代碼,一定是在wp-admin文件夾下建立新的htaccess,很多坑爹的文章都沒有告訴你這一點,直接添加到網站根目錄下的那個htacess下的話……您要是想要自己的整個網站都只能自己訪問的話,不妨試試。

  阻止某些IP訪問自己的網站

  如果有些垃圾網站的Robot總是不停的抓取你網站的數據,你可以在htaccess中屏蔽掉這些IP。

  order allow,deny deny from xx.xx.xx.xx allow from all

  類似的,更換一下deny和allow,可以實現只允許某些特定IP訪問自己的網站,當然如果您真的想要這么做的話。

  判斷瀏覽器

  瀏覽器兼容可以說是前端工程師最為心痛的事。與其在css中寫各種hack,不如在htacess中判斷瀏覽器,直接指向不同的css文件。

  RewriteCond %{REQUEST_URI} index\.css*

  RewriteCond %{HTTP_USER_AGENT} “^Mozilla/4.0$”

  RewriteRule ^(.*)$ //renchuan.com/firefox.css

  類似的,利用htacess判斷訪問者是否持有的是移動設備也很容易。

  RewriteEngine on RewriteCond %{HTTP_USER_AGENT} “Windows CE” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “NetFront” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “Palm OS” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “Blazer” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “Elaine” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “^WAP.*$” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “Plucker” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “vodafone” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “iPhone” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “nokia” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “symbian” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “Opera Mini” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “BlackBerry” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “j2me” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “midp” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “htc” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “java” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “sony” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “android” [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} “AvantGo” [NC]

  RewriteRule (.*) //mobi.renchuan.com/ [R,L]

  因為有點多,為了方便閱讀,還有通用的瀏覽器的USER_AGENT放在了文章的最后。有興趣的讀者去可以去看看吧。

  禁止訪問特定的文件類型或文件

  有些特定的文件、或某些文件,我們可能不想讓用戶訪問到,可以用如下代碼:

  order allow,deny deny from all

  Order Allow,Deny Deny from all

  判斷瀏覽器的語言

  想要根據瀏覽器的語言設定,跳轉到不同的頁面,可以用如下代碼:

  RewriteCond %{HTTP:Accept-Language} ^zh-cn.*$ [NC]

  RewriteRule ^/?$ index_cn.htm [R=301,L]

  總結

  就說到這里了,其實htaccess的用途還有很多很多,讀者可以根據上面的例子自己去挖掘htaccess的新的用途。不過注意修改htaccess時一定要小心,因為一但寫錯,很可能導致整個網站都無法訪問。


上一篇
下一篇