一、ThinkPHP偽靜態規則
ThinkPHP是一個開源的PHP框架,其偽靜態規則是指通過URL重寫實現靜態化,為網站提升了性能和SEO優化。ThinkPHP的偽靜態規則有兩種:簡單規則和複雜規則。
1、簡單規則
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?s=$1 last;
break;
}
簡單規則通過判斷請求的文件是否存在,如果不存在則重寫URL,全部交給index.php處理。url以”/”開頭,後面跟着任意個字符,s=後面是參數。
2、複雜規則
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
複雜規則和簡單規則區別在於它支持”.”等特殊字符。url可以包括”.htm”等後綴。
二、Nginx偽靜態文件
Nginx也是一款開源的Web服務器軟件,其偽靜態效果主要通過寫偽靜態文件來實現。偽靜態文件內容包括兩部分:location 和 rewrite。
1、location 部分
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
在location部分,首先判斷請求的文件是否存在,如果不存在則重寫URL交給index.php處理。
2、rewrite 部分
rewrite ^/([A-Za-z0-9]+)/?$ /index.php?s=home/$1 last;
rewrite ^/([A-Za-z0-9]+)/([a-z]+)/?([a-z]+)/?$ /index.php?s=home/$1/$2/$3 last;
rewrite部分包含了多條規則。第一條規則是將home模塊下的控制器名作為URL的一部分;第二條規則是實現3級目錄的URL重寫。
三、寶塔Nginx偽靜態
寶塔面板是一款服務器管理軟件,其支持Nginx偽靜態功能。有兩種方式實現:寶塔自帶偽靜態文件或手動編寫偽靜態文件。
1、寶塔自帶偽靜態文件
在網站管理頁面,點擊偽靜態按鈕,選擇“TP6偽靜態”即可自動完成安裝。此時偽靜態文件會自動添加到.conf文件中。
2、手動編寫偽靜態文件
Nginx偽靜態文件的路徑:/www/server/nginx/conf/tp6.conf,如果需要修改偽靜態規則,只需要修改tp6.conf文件即可。
四、Nginx與Apache區別
1、性能
Nginx採用事件驅動、異步非阻塞的方式處理請求,性能比Apache更高,能夠處理更多的並發請求。
2、內存佔用
Nginx內存佔用比Apache更低,對於內存有限的服務器來說,Nginx更適合。
3、配置文件
Nginx的配置文件比較簡潔,易於管理;而Apache配置文件比較複雜,配置的時候需要注意文件格式和語法。
4、模塊支持
Apache支持的模塊比Nginx多,特別是在動態語言和數據庫連接方面,Apache更加成熟。
5、適用場景
Nginx適合處理靜態資源,對於高並發、大流量的Web應用有很好的支持;Apache適合處理動態請求,對於多節點、高可用性的Web應用更有優勢。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306100.html