Apache中設定虛擬主機的URL重寫功能

2021-08-22 01:38:35 字數 1600 閱讀 9259

伺服器被重灌,我負責的模組很多都調不通,特別是涉及到很多url重寫功能的,趕緊看看為什麼。

開啟 /usr/local/apache/conf/httpd.conf 配置檔案,找到我那個虛擬主機的配置:

serveradmin [email protected]

documentroot /usr/www/heiyeluren

servername heiyeluren.unixsky.net

errorlog logs/cal-error_log

customlog logs/cal-access_log common

沒有看出問題來呀?

難道是我的 .htaccess 檔案不對?趕緊開啟 /usr/www/heiyeluren/.htaccess 看看:

rewriteengine on

rewritebase /

rewritecond % -f [or]

rewritecond % -d

rewriterule ^.*$ - [s=42]

rewriterule ^share/$ /share.php [qsa,l]

rewriterule ^(rss|rss2|atom|opml)/tag/([^/]+)/?$ /rss.php?rssver=$1&rsstype=tag&tag=$2 [qsa,l]

rewriterule ^(rss|rss2|atom|opml)/city/([^/]+)/?$ /feed.php?rssver=$1&rsstype=city&city=$2 [qsa,l]

rewriterule ^(rss|rss2|atom|opml)/pub/event/?$ /feed.php?rssver=$1&rsstype=pub_event [qsa,l]

rewriterule ^(rss|rss2|atom|opml)/pub/task/?$ /feed.php?rssver=$1&rsstype=pub_task [qsa,l]

也沒看出異常來呀~~~~ 趕緊找資料。。。原來是 httpd.conf 配置檔案少了東西,修改 /usr/local/apache/conf/httpd.conf 再上面虛擬主機的上面加上內容,結果如下:

allowoverride all

options indexes followsymlinks multiviews

order allow,deny

allow from all

serveradmin [email protected]

documentroot /usr/www/heiyeluren

servername heiyeluren.unixsky.net

errorlog logs/cal-error_log

customlog logs/cal-access_log common

嘿嘿,重啟apache,再測試,能訪問了。

其實就是加上了:

allowoverride all

options indexes followsymlinks multiviews

order allow,deny

allow from all

針對某個目錄的設定。

Apache虛擬主機的設定

很多web伺服器都支援設定虛擬主機,允許在一台伺服器裡放置執行多個web站點。多個web站點可以根據ip,網域名稱或者埠區分。這裡記錄windows下基於埠的虛擬主機的配置方法。apache的安裝路徑為 d program files apache software foundation apach...

Apache虛擬主機設定

apache支援兩種虛擬主機,一種是基於ip位址的,一種是基於網域名稱的。基於ip位址的虛擬機器現在使用的很少,它需要一台伺服器需要擁有多個ip位址。基於網域名稱的虛擬主機要求伺服器有乙個ip位址就可以了,只需要將不同的網域名稱解析到同乙個ip位址就可以實現一台伺服器提供多個服務。最簡單的基於網域名...

apache虛擬主機設定

apache 虛擬主機設定有兩類 一 基於ip的配置 一台主機繫結了多個ip,每個ip設定乙個虛擬主機 如一台主機有10.13.129.163和192.168.1.9兩個ip 則配置為 servername localhost 這裡的servername好像沒什麼用 documentroot d a...