thinkphp_3.2.3實現 Rewrite 模式的配置方法
阿新 • • 發佈:2018-12-30
實現步驟:
1、啟用mod_rewrite模組
開啟Apache名為“httpd.conf”的配置檔案,#LoadModule rewrite_module modules/mod_rewrite. so這行程式碼,將#註釋符刪除,使得Apache在啟動時就載入mod_rewrite模組。
mod_rewrite是Apache的一個模組。
此模組提供了一個基於正則表示式分析器的重寫引擎來實時重寫URL請求。它支援每個完整規則可以擁有不限數量的子規則以及附加條件規則的靈活而且強大的URL操作機制。此URL操作可以依賴於各種測試,比如伺服器變數、環境變數、HTTP頭、時間標記,甚至各種格式的用於匹配URL組成部分的查詢資料庫。
此模組可以操作URL的所有部分(包括路徑資訊部分),在伺服器級的(httpd.conf)和目錄級的(.htaccess)配置都有效,還可以生成最終請求字串。此重寫操作的結果可以是內部子處理,也可以是外部請求的轉向,甚至還可以是內部代理處理。
一般mod_rewrite預設是不啟動的,這時我們需要手動啟用它。
2、設定Apache
找到以下程式碼段:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
將其中的:AllowOverride None 改為 AllowOverride All ,重啟httpd服務即可。
3、新增thinkphp的配置
<?php
return array(
//'配置項'=>'配置值'
'URL_MODEL' => 2
);
4、在入口檔案index.php同級目錄新增.htaccess檔案,內容如下:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
這個檔案thinkphp_3.2.3自帶的就有。
ok~到此結束配置,Rewrite模式已經開啟了…