apache開啟偽靜態

2020-07-16 10:05:42

apache開啟PHP的偽靜態模式

什麼是偽靜態?

偽靜態又名URL重寫,是動態的網址看起來像靜態的網址。換句話說就是,動態網頁通過重寫 URL 方法實現去掉動態網頁的引數,但在實際的網頁目錄中並沒有必要實現存在重寫的頁面。

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 重寫規則

如果在linux下可以直接建立;如果是在windows平台下,用記事本建立一個檔案,比如abc.txt,然後另存為 .htaccess檔案即可。

5、重寫規則,也可以直接在設定虛擬主機的<Directory>段設定

推薦教學:PHP視訊教學

以上就是apache開啟偽靜態的詳細內容,更多請關注TW511.COM其它相關文章!