apache和nginx偽靜態區別

2021-09-30 19:22:19 字數 1969 閱讀 8726

apache

第一步:找到

#loadmodule rewrite_module modules/mod_rewrite.so
把前面#去掉。沒有則新增,但必選獨佔一行,使apache支援 mod_rewrite 模組

第二步:找到

## possible values for the options directive are "none", "all",

# or any combination of:

#   indexes includes followsymlinks symlinksifownermatch execcgi multiviews

## note that "multiviews" must be named *explicitly* --- "options all"

# doesn't give it to you.

## the options directive is both complicated and important.  please see

# # for more information.

#options indexes followsymlinks

## allowoverride controls what directives may be placed in .htaccess files.

# it can be "all", "none", or any combination of the keywords:

#   options fileinfo authconfig limit

#allowoverride none

## controls who can get stuff from this server.

#order allow,deny

allow from all

把allowoverride none 換成 allowoverride all 使apache支援 .htaccess 檔案

第三步:重啟apache伺服器

在要啟用偽靜態的 php 專案根目錄下建立 .htaccess 檔案

在 .htaccess 檔案中輸入內容

rewriteengine on

rewriterule index.html$ index.php

rewriterule index-([1-9]+[0-9]*).html$ index.php?p=$1

rewriterule ([a-z])-([0-9]).html$ index.php?action=$1&id=$2

注釋:rewriteengine   為重寫引擎開關,on為開啟,off為關閉。

rewriterule     是路由轉向規則,$ 之前路徑為瀏覽器中要輸入路徑,這裡可以用正規表示式表達。$+空格 後路徑為後台實際轉向路徑,轉向後台實際路徑時可以傳引數,例子裡的後台頁面可以用$_get['p']   $_get['action']  $_get['id'] 來接收

$1 代表瀏覽器路徑中輸入的第乙個正規表示式的值,以此類推

$2代表第二個正規表示式的值

rewriterule 路由轉向規則裡正規表示式用括號 () 括起來

nginx

伺服器配置檔案:

server

location ~ \.php(.*)$  

}偽靜態配置檔案可以直接寫在 location / {} 裡面的,不推薦這樣做,建議新增加個rewrite.conf寫偽靜態檔案會好點,include 進來就行了,這樣可以在rewrite.conf裡面寫n多配置

location / 12

3456

#rewrite.conf (這個檔案自己建立就行了,檔案內容寫規則)

#場景一的規則

#rewrite a.html /index.php/front/index/index last;

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...

nginx與apache偽靜態知識要點

一 配置區別 a apache配置 開啟配置檔案httpd.conf 1.啟用rewrite loadmodule rewrite module modules mod rewrite.so 去除前面的 2.啟用.htaccess 在虛擬機器配置項中 allowoverride none 修改為 a...