開啟PHP的偽靜態


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.在httpd.conf中配置虛擬主機
# Virtual hosts 啟用虛擬主機
Include conf/extra/httpd-vhosts.conf

3.httpd_vhosts.conf文件中,配置相應的選項.詳細講解
<VirtualHost *:80>
    DocumentRoot "C:/myenv/apache/htdocs/static3"
    ServerName www.hsp.com
    <Directory "C:/myenv/apache/htdocs/static3">
#Deny from All 403錯誤提示
Allow from All
#如果文件目錄在apache目錄外面,注釋掉optinos 則,不能列表.
options +Indexes
#下面這個表示可以去讀取 .htaccess文件,也可以直接在虛擬主機中配置.
Allowoverride All
RewriteEngine On
RewriteRule news-id(\d+).html$ error.php?id=$1
#這里可以設置多個重寫的規則
#RewriteRule news-id.html$ error.php

    </Directory>
 </VirtualHost>

4.在相應的目錄下編寫.htaccess 重寫規則
   例子:

<IfModule rewrite_module>

RewriteEngine On
RewriteRule news-id(\d+).html$ show.php?id=$1
#這里可以設置多個重寫的規則
#RewriteRule news-id.html$ error.php
</IfModule>
 
如果在linux下可以直接創建,
如果是在windows平台下,用記事本創建一個文件,比如abc.txt,然后另存
為 .htaccess文件即可

5.重寫規則,也可以直接在配置虛擬主機的<Directory>段配置.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM