nginx與apache偽靜態知識要點

2021-10-25 10:57:18 字數 1847 閱讀 6622

一、配置區別

a、apache配置:

開啟配置檔案httpd.conf

1.啟用rewrite

# loadmodule rewrite_module modules/mod_rewrite.so 去除前面的 #

2.啟用.htaccess

在虛擬機器配置項中

allowoverride none    修改為: allowoverride all

#載入模組

loadmodule rewrite_module modules/mod_rewrite.so

#載入.htaccess

accessfilename .htaccess

order allow,deny

deny from all

satisfy all

#設定為all,則讀取.htaccess內容

[plain] view plain copy

options followsymlinks

allowoverride allb、nginx配置:不需要單獨配置,可直接在.conf檔案中編寫server{}中的location / 。可加上include /vhost/rewrite/www.***.cn.conf 等形式來單獨設定偽靜態檔案

注:1、lnmp.org的lnmp一鍵安裝包的nginx偽靜態配置路徑在:

/usr/local/nginx/conf/ 

/usr/local/nginx/conf/vhost/網域名稱.conf

2、寶塔nginx環境下偽靜態位置:

www/server/panel/vhost/nginx/www.***.cn.conf

www/server/panel/vhost/rewrite/www.***.cn.conf(之所以可以有個rewrite資料夾,是因為server配置中有這個配置的原因:include /www/server/panel/vhost/rewrite/www.***.cn.conf

二、偽靜態規則區別

rewriteengine on

rewriterule ^(.*)/ask/([0-9]+)\.html$ $1/ask/index.php?page=$2

b、nginx偽靜態(.conf檔案):

rewrite ^(.*)/ask/([0-9]+).html$ $1/ask/index.php?page=$2 last;
說明:nginx其實就是去掉ruel 和 括號右邊的斜槓就可以,以^開頭,以last結尾;$之前的**是前台要顯示的**,$+空格之後的**是要匹配的**,$1匹配的是第乙個正規表示式,$2匹配的是第二個正規表示式

三、其它

a、寶塔nginx環境下設定偽靜態規則: 偽靜態規則不要用 location / 包裹,需要去掉。但是本人測試加上也沒問題。

只是如果在「配置檔案」加了這個,「偽靜態」處就增加不了自帶靜態規則的 location /

偽靜態規則可以放在寶塔的「配置檔案」,也可以在「偽靜態」裡面。

b、apache mod_rewrite規則重寫的標誌一覽(參考**:c、正規表示式語法:

d、各常見cms在ngnix偽靜態:

e、使用nginx內建$request_filename變數更容易管理nginx:

f、nginx使用location匹配url進行偽靜態:

g、nginx.conf 配置解析之 server配置:

h、手冊:

apache偽靜態轉為nginx偽靜態

1.將原apache專案中的偽靜態檔案轉化為nginx的偽靜態 2.將轉化後的偽靜態覆蓋原來的偽靜態檔案內的內容 3.配置nginx伺服器的檔案 4.重新啟動nginx伺服器 詳解 1 找到專案中的偽靜態檔案 vim開啟檔案,將內容複製出來 下面這個是本人的檔案 2 下面這個是自動轉化的 3 將轉化...

偽靜態配置apache 和nginx

1 在laragon環境的目錄c laragon etc apache2 sites enabled下 c laragon www wuhan public allowoverride all require all granted rewriteengine on rewritecond d re...

apache和nginx偽靜態區別

apache 第一步 找到 loadmodule rewrite module modules mod rewrite.so把前面 去掉。沒有則新增,但必選獨佔一行,使apache支援 mod rewrite 模組 第二步 找到 possible values for the options dir...