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」 區域,在最後一行加入「LoadModule rewrite_module modules/mod_rewrite.so」(必選獨佔一行),而後重啓apache服務器便可。 2.讓apache服務器支持.htaccess 如何讓本身的本地APACHE服務器支持」.htaccess」呢?其實只要簡單修改一下apache的httpd.conf設置就可讓 APACHE支 持.htaccess了。打開httpd.conf文件(在那裏? APACHE目錄的CONF目錄裏面),用文本編輯器打開後,查找 Options FollowSymLinks AllowOverride None 改成 Options FollowSymLinks AllowOverride All 就能夠了。 3.創建.htaccess 文件 若是是在windows平臺下,剛開始還真不知道怎麼創建」.htaccess」文件,由於這個文件實際上沒有文件名,僅僅只有擴展名,經過普通方式是沒法創建這個文件的,彆着急,立刻告訴你三種方法:三種方法都是先創建一個htaccess.txt的文本文件(固然,這個文本文件的名字你能夠隨便取),而後有三種方式給這個文件重命名: (1)用記事本打開,點擊文件–另存爲,在文件名窗口輸入」.htaccess」,注意是整個綠色部分,也就是包含英文引號,而後點擊保存就好了。 (2)進入cmd命令 窗口,經過cd切換當剛創建htaccess.txt文件的文件夾,而後輸入命令:rename htaccess.txt .htaccess ,而後點擊鍵盤Enter鍵便可。 (3)經過ftp鏈接htaccess.txt所在文件夾,經過ftp軟件重命名。 4.rewrite規則學習 咱們新建一個.htaccess文件以後,就在裏面寫入如下內容: RewriteEngine on #rewriteengine爲重寫引擎開關on爲開啓off爲關閉 RewriteRule ([0-9]{1,})$ index.php?id=$1 我講解一下RewriteRule:RewriteRule是重寫規則,支持正則表達式的,上面的([0-9]{1,})是指由數字組成的,$是結束標誌,說明是以數字結束! 好吧,如今咱們能夠實現僞靜態頁面了,寫下一下的規則:php
RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2html
([a-zA-Z]{1,})-([0-9]{1,}).html$是規則,index.php?action=$1&id=$2是要替換的格式,$1表明第一個括號匹配的值,$2表明第二個,如此類推!! 咱們寫一個處理的PHP腳本: index.php PHP代碼<?php echo ‘你的Action是:’ . $_GET['action']; echo ‘
’; echo ‘你的ID是:’ . $_GET['id']; ?> 好了,咱們如今在瀏覽器中輸入: localhost/view-12.html 輸出的是: 你的Action是:view 你的ID是:12 #測試 #RewriteRule trips.html$ index.php?c=trips&f=index [L] #RewriteRule user/([0-9]+).html/?$ index.php?c=myuser&m=itime&uid=$1 [L] #將xianglc將定到 index.php?c=myuser&m=itime&domain=xianglc RewriteRule ^([a-zA-Z0-9]){6,20}/?$ index.php?c=myuser&m=itime&domain=$0 [L]正則表達式