程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 什麼是偽靜態:mod_rewrite知識簡介

什麼是偽靜態:mod_rewrite知識簡介

編輯:PHP綜合

之前搞wordpress的時候經常涉及到偽靜態,也就是mod_rewrite這個名詞,然後一開始的時候也不是十分清楚,只知道是用來轉換地址為html改良收錄,今天終於有空找了一篇比較好的文章,發上來跟各位一起學習下,什麼叫做偽靜態mod_rewrite,

以下是關於mod_rewrite的一些知識簡介:

首先要開啟apache的mod_rewrite功能。

在apache目錄的apache\conf 這個文件夾下的httpd.conf文件用記事本打開編輯,找到如下一句:

#LoadModule rewrite_module modules/mod_rewrite.so

將前面的#號去掉,變成:

LoadModule rewrite_module modules/mod_rewrite.so

然後再在同一文件找到下面一句:

AllowOverride None

將其改為:

AllowOverride All

然後關閉並保存文件。這樣一來,Apache的mod_rewrite的功能就被開啟,非常簡單。

下面,我要用mod_rewrite實現這樣的URL:

http://xxx.com/0725.html

http://xxx.com/0726.html

http://xxx.com/0727.html

上面鏈接的意思,就是顯示07月25日的歷史上發生了什麼事情,類似這樣。這樣看起來就很美觀、整齊了,貌似生成html了。然,他們地址實際是:

http://xxx.com/index.php?today=0725

http://xxx.com/index.php?today=0726

http://xxx.com/index.php?today=0727

現在我就是要實現把 index.php?today=為靜態。以下是代碼:

1..htaccess 文件

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond  %{REQUEST_FILENAME} !-d

RewriteRule ^([0-9]+)\.html$  /index.php?today=$1

粗體字這裡我說明一下,其它的按這個格式吧,具體我現在也不理解。

[0-9]的意思是,參數只能是0~9這些數字,如果你要包含任何字符,就改為:

RewriteRule ^(.+)\.html$ /index.php?today=$1

這裡[0-9]改為了. ,這個.就代表任意字符

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved