- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
在A(yíng)pache中有兩種方法配置,一是通過(guò)httpd.conf文件,二是通過(guò).htaccess文件。
使用 httpd.conf 來(lái)配置 rewrite 策略。
要使用 httpd.conf 文件來(lái)設置偽靜態(tài)策略,我們可以直接在 httpd.conf 中寫(xiě)入如下代碼,如果您的網(wǎng)站是配置在 VirtualHost 中,則將這段代碼加到對應的。
使用.htaccess來(lái)配置rewrite策略。
檢查httpd.conf中的:
RewriteEngine on
RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3
復制代碼保存后重啟httpd服務(wù)即可生效。
常見(jiàn)問(wèn)題: Q:為何都按上面設置了缺還是無(wú)法靜態(tài)化? A:很有可能是因為別的目錄設置項覆蓋了。
Nginx:
Nginx下設置偽靜態(tài)方法與Apache差不多,直接在nginx.conf (或者在對應的*.conf) 中找到需設置偽靜態(tài)規則的服務(wù)器對應字段,在server{ location/{ } }中添加以下代碼:
server {
listen 80 default_server;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3;
}
}
添加后重啟Nginx服務(wù)即可生效!
正則表達式匹配
就用上面的例子中的偽靜態(tài)策略來(lái)簡(jiǎn)單解釋下正則表達式在配置的作用:
策略:RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.php?page=$2&id=$3
請求路徑:http://www.tjdsmy.cn/list-123-456.html
本策略分成兩段,第一段是使用正則表達式去匹配請求訪(fǎng)問(wèn)的路徑,第二段是將匹配后的參數轉化為真實(shí)訪(fǎng)問(wèn)的路徑。策略執行時(shí):^(.*)list-([0-9]+)-([0-9]+)\.html$ 與 /list-123-456.html這個(gè)字符串進(jìn)行匹配:
^和$字符分別代表了匹配輸入字符串的開(kāi)始和結束
()中的匹配到的內容會(huì )被按順序分配到變量$1 $2 $3中
.*匹配任意字符串,且長(cháng)度從0個(gè)到多個(gè),故$1值為/
[0-9]+匹配字符0-9,長(cháng)度1個(gè)到多個(gè),故$2和$3分別是123和456
所以最后真實(shí)訪(fǎng)問(wèn)的動(dòng)態(tài)地址為/list.php?page=123&id=456
上面只是介紹了基本的配置策略,其實(shí)這個(gè)rewrite規則還有非常多的玩法,例如使用RewriteCond進(jìn)行域名層面的重寫(xiě)跳轉。
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP