1. 程式人生 > >phpstudy配置偽靜態的方法

phpstudy配置偽靜態的方法

mod_rewrite是Apache的一個非常強大的功能,它可以實現偽靜態頁面。下面我詳細說說它的使用方法

1.檢測Apache是否支援mod_rewrite

通過php提供的phpinfo()函式檢視環境配置,通過Ctrl+F查詢到“Loaded Modules”,其中列出了所有apache2handler已經開啟的模組配置,如果裡面包括了“mod_rewrite”,則表示已經支援偽靜態,不需要再次修改配置。
如果沒有開啟“mod_rewrite”,則找到並開啟您的apache安裝目錄“/apache/conf/” 下的 httpd.conf 檔案,通過Ctrl+F查詢到“LoadModule rewrite_module”,將前面的”#”號刪除即可。
如果沒有查詢到“LoadModule rewrite_module”,則到“LoadModule” 區域,在最後一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(必選獨佔一行),然後重啟apache伺服器即可。

2.讓apache伺服器支援.htaccess

如何讓自己的本地Apache伺服器支援”.htaccess”呢? 其實只要簡單修改一下apache的httpd.conf設定就可以讓 Apache支 持.htaccess了。開啟httpd.conf檔案(在那裡? Apache目錄的conf目錄裡面),

用文字編輯器開啟後,查詢 FollowSymLinks Options FollowSymLinks AllowOverride None 改為 Options FollowSymLinks AllowOverride All 就可以了。

3.建立.htaccess 檔案

有1種最簡單的方法建立.htaccess檔案:

用記事本 開啟,點選檔案–另存為,在檔名視窗輸入”.htaccess”,注意是整個部分,也就是包含英文引號,然後點選儲存就行了。

4.rewrite規則學習

我們新建一個.htaccess檔案之後,就在裡面寫入以下內容:
RewriteEngine on    #rewriteengine為重寫引擎開關on為開啟off為關閉
RewriteRule ([0-9]{1,})$index.php?id=$1

RewriteRule是重寫規則,支援正則表示式的,上面的([0-9]{1,})是指由數字組成的,$是結束標誌,說明是以數字結束!
好吧,現在我們可以實現偽靜態頁面了,寫下一下的規則:

RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2

([a-zA-Z]{1,})-([0-9]{1,}).html$是規則,index.php?action=$1&id=$2是要替換的格式,$1代表第一個括號匹配的值,$2代表第二個,如此類推!!

測試PHP指令碼如下: index.php檔案中的程式碼如下:

echo ‘你的Action值為:’ . $_GET['action']; 
echo ‘ID值為:’ . $_GET['id']; 

在瀏覽器位址列輸入: localhost/page-18.html
輸出的是: 你的Action值為:page ID值為:18

常用示例

RewriteEngine On
RewriteRule index.html index.php
比如:http://www.yzzmf.com/index.html -> http://www.yzzmf.com/index.php
RewriteRule ^test([0-9]*).html$ test.php?id=$1
比如:http://www.yzzmf.com/test8.html -> http://www.yzzmf.com/test.php?id=8
RewriteRule ^cat-([0-9]+)-([0-9]+)\.html$ cat.php?id1=$1&id2=$2
比如:http://www.yzzmf.com/cat-1-3.html -> http://www.yzzmf.com/cat.php?id1=1&id2=3
RewriteRule ^cat-([a-zA-Z0-9\-]*)-([0-9]+)-([0-9]+)\.html$ cat.php?id0=$1&id1=$2&id2=$3
比如:http://www.yzzmf.com/cat-zbc2ac-3-5.html -> http://www.yzzmf.com/cat.php?id0=zbc2ac&id1=3&id2=5
RewriteRule ^cat1-([0-9]+)-([0-9]+)-([0-9]+)\.html$ cat1.php?id1=$1&id2=$2&id3=$3
比如:http://www.yzzmf.com/cat1-4-3-8.html -> http://www.yzzmf.com/cat1.php?id1=4&id2=3&id3=8
RewriteRule ^cat([0-9]*)/$ cat.php?id1=$1
比如:http://www.yzzmf.com/cat5/ -> http://www.yzzmf.com/cat.php?id1=5
RewriteRule ^catm([0-9]*)/([0-9]*)/$ catm.php?id1=$1&id2=$2
比如:http://www.yzzmf.com/catm6/3/ -> http://www.yzzmf.com/catm.php?id1=6&id2=3

其中不提倡貪婪模式,把0-9都改成([\d]*?) *?允許空

相關推薦

phpstudy配置靜態方法

mod_rewrite是Apache的一個非常強大的功能,它可以實現偽靜態頁面。下面我詳細說說它的使用方法 1.檢測Apache是否支援mod_rewrite 通過php提供的phpinfo()函式檢視環境配置,通過Ctrl+F查詢到“Loaded Modu

nginx配置靜態

con html 直接 引入 bubuko info amp htm onf 最近做門戶網站,使用了的nginx重寫規則 項目目錄下寫好 nginx.conf文件 然後在打開nginx配置文件,在server引入對應的重寫規則的文件就可以了 當然直接寫在配置裏面 lo

IIS配置靜態 整合模式 樣式丟失

最近將一個老網站遷移到新伺服器,因為需要做偽靜態配置,在網上找了一些教程跟著配置。結果卻出現:按照網上教程配置完後將應用程式池模式改為經典模式,然後驗證規則就匹配不了。改成整合模式驗證規則能匹配但是網頁樣式都載入不了,js,css,jpg,png這些靜態檔案都無法載入,單獨訪問靜態資源出現“沒有為副檔名“.X

寶塔環境安裝thinkcmf5 開啟rewrite靜態方法

thinkcmf5寶塔liunx版Nginx環境開啟偽靜態步驟。 1、繫結網站執行目錄、 2、填寫偽靜態規則: location / { index index.php index.html index.htm; if (!-

IIS配置靜態 整合模式 樣式丟失

最近將一個老網站遷移到新伺服器,因為需要做偽靜態配置,在網上找了一些教程跟著配置。結果卻出現:按照網上教程配置完後將應用程式池模式改為經典模式,然後驗證規則就匹配不了。改成整合模式驗證規則能匹配但是網頁樣式都載入不了,js,css,jpg,png這些靜態檔案都無法載入,單獨訪問靜態資源出現“沒有為副檔名“.X

apache配置靜態Rewrite

  1: 修改apache的httpd.conf檔案     找到這一行     #LoadModule rewrite_module modules/mod_rewrite.so     改成     LoadModule rewrite_module modules/mod_rewrite.so

iis7 8 9 10怎麼配置靜態,discuz論壇怎麼配置靜態

https://www.iis.net/downloads/microsoft/url-rewrite 下載 ?Chinese Simplified:64位的,安裝 然後選擇  IIS7 Web Server(獨立主機使用者)  的偽靜態規則 然後把規則複製到   web.

HTTPS配置靜態

因為要把一個網站專案匯入到另一臺伺服器,在部署上去之後忽然想到要用的是443埠(https)進行訪問,而且這個網站專案用到的是偽靜態。以前想到配置80埠的偽靜態的時候,一般就是直接修改apache的配置檔案httpd.conf 把LoadModule rewri

各種服務器靜態配置方法

div 商業 進行 反向 一定的 搜索 blank nginx服務器 write 偽靜態設置 一、Apache 下偽靜態設置 請首先咨詢您的空間服務商,空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,否則即便按照下面的方法設置好了,也

window下phpstudy的nginx配置虛擬主機和靜態

                在其他選項檔案選單中->開啟配置檔案->選擇vhosts-conf ngin

Win7/Windows2003下IIS6.0、IIS7.5的靜態元件安裝和靜態配置方法

1)下載IIS偽靜態元件——ISAPI_Rewrite3完全破解版 ISAPI_Rewrite3非常好用,是個人見過最好用同時可以支援多站點的IIS偽靜態元件! 1、官網下載(http://www.helicontech.com/download/isapi_rewrit

Windows IIS7 靜態 web.config 配置方法

IIS7 做偽靜態比較的簡單方便   1.程式方面 只需要設定web.config 就可以了。   2.伺服器需要安裝:URL Rewrite 下載地址:http://www.iis.net/download/URLRewrite Godaddy 的主機已經安裝這個外掛。

IIS7靜態web.config配置方法和規則

< ?xml version="1.0"?> < configuration> < system.webServer>         <rewrite>             <rules>                 <!--301

win主機wordpress靜態設置方法404頁面方法

面板 頁面 include bsp tle pan https get 404頁面 新建一個404.txt文檔,將以下代碼復制進去: header(“HTTP/1.1 200 OK”); $ori_qs = $_SERVER[‘QUERY_ST

虛擬主機設置靜態的三種方法

url地址 文件中 iis 應用 規則 ignorecas 收錄 apache服務 encoding 如今,很多站長都有使用香港虛擬主機來搭建網站,比較常見的有Linux香港虛擬主機、Windows香港虛擬主機。 值得一提的是,為了有利於網站的收錄,很多站長使用香港虛擬主機

sublime text 配置本地靜態服務器方法

title detail png href sub tail image www. ges sublime text 配置本地靜態服務器方法

nginx靜態配置教程總結

配置 設置 設置方法 靜態 com 配置教程 apche 入門 rewrite 在nginx中配置偽靜態,也就是常說的url重寫功能,只需在nginx.conf配置文件中寫入重寫規則即可。 當然,這個規則是需要熟悉正則表達式,只掌握nginx自身的正則匹配模式即可,對正則不

PHP配置環境中如何開啟靜態

技術分享 重要 ont clas word wid 知識 .net pla 1、在httpd.conf中引入httpd-vhosts.conf 2、在httpd.conf中開啟mod_rewrite.so 3、在httpd-vhosts.conf中配置虛擬主機

WIN2008系統的IIS7.0配置REWRITE靜態環境

偽靜態 在win2008的系統中配置偽靜態環境也是非常簡單,今天沒來網絡告訴大家首先去官網下載偽靜態重寫插件 https://www.iis.net/downloads/microsoft/url-rewrite 會在線識別系統直接安裝即可安裝完成之後會出現然後可以導入網站程序自帶的偽靜態規則這樣偽靜態

ASP.NET靜態配置

sof work 找到 isp 但是 路徑 rewrite .html hand 一、下載URLRewriter.dll 二、在項目中添加URLRewrite的引用 三、配置webconfig 1.在<configuration>節點中添加: 1