1、第一步操做php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>正則表達式
# END WordPressapache
這是咱們開啓了固定連接功能以後,wordpress給咱們加上的htaccess文件服務器
冷博客來解釋一下各行含義wordpress
2、第二步注意ui
<IfModule mod_rewrite.c>博客
#若是mode_rewrite.c模塊存在 則執行如下指令it
RewriteEngine Onio
#開啓rewriteEngineast
RewriteBase /
#重寫範圍,這裏/爲本地頂級目錄
RewriteRule ^index\.php$ – [L]
#重寫規則
^index\.php$是匹配正則表達式,只匹配了index.php
後面的短線 若是我沒記錯的話 就是指null
後面的L是結束符號,同等級的還有
[L](last):終止一系列的RewriteCond和RewriteRule
[R](redirect):觸發一個顯示的跳轉,也能夠指定跳轉類型,如[R=301]
[F](forbidden):禁止查看特定文件,apache會觸發403錯誤
[NC](no case):表示忽略大小寫
3、詳見文章末尾纔出處
其中返回值301也會有其餘類型,好比
經常使用的客戶端請求錯誤返回代碼:
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
常見的服務器錯誤返回代碼:
500 Internal Server Error
RewriteRule . /index.php [L]
#一樣是重寫規則
最後,詳見文章末尾纔出處
表明任意字符,替代爲/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#上面兩個均爲重寫條件,%{}中內容爲apache定義的一系列返回參數
//我的理解:
f:file文件
d:directory 目錄(文件夾)