這都是折騰了俺的問題, 俺要記錄下來, 以泄其憤:
1. 重啟apache:
sudo /etc/init.d/apache2 restart
2.apache 虛擬主機以后出現 [warn] NameVirtualHost *:80 has no VirtualHosts
解決辦法: 直接吧 httpd.conf 中 NameVirtualHost *:80 這行注釋掉
原因:NameVirtualHost語法錯誤 ,對于同一主機支持多個虛擬主機的情況,只需要命名一次NameVirtualHost,如果在每個虛擬主機配置文件中都加上NameVirtualHost *:80 ,則會報這個警告。
原來在/etc/apache2/ports.conf中定義了*:80的 VirtualHost , 我又在httpd.conf中重新定義了一遍, 所以呢, 就錯了. 只要注釋掉 httpd.conf中的 NameVirtualHost *:80 就ok了;
3. ubuntu服務器開啟Apache重寫擴展 :
第1步: 打開終端, 開啟擴展:
sudo a2enmod rewrite
或者是:
sudo ln -s /etc/apache2/mods-cuailable/rewrite.load /etc/apache2/mods-enabled/rewrite.load
sudo vim /etc/apache2/sites-enabled/000-default
備注:000-default實則為sites-available/default的鏈接,而AllowOverride None 則會完全忽略.htaccess文件,rewrite規則就不能生效,另外注意您的程序文件的權限不能忘記開啟, 所以開啟擴展后必須修改000-default文件。
然后重啟apache服務;
sudo /etc/init.d/apache2 restart
其他參考:
Ubuntu下apache2的rewrite模塊默認是不加載的。
只要運行了一下這個命令:a2enmod rewrite 就可以啟用rewrite模塊了。
或:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Apaceh2 多了一組 a2enmod, a2dismod指令,用于啟用和禁用Apache的模塊。a2enmod用于在Apache啟用指定的 模塊,它實際上做的是在/etc/apache2 /mods-enabled目錄下創建模塊文件的符號鏈接。相反a2dismo則是通過刪除符號鏈 接而達到禁用指定模塊的功能。當然,啟用已啟用的模塊或禁用已禁用的模塊是不會報錯的。
這里有必要說明一下:
/etc/apache2/mods-available 放apache可用的模塊文件
/etc/apache2/mods-enabled 放apache已啟用的模塊文件的鏈接
弄明白了,去查看一下/etc/apache2/mods-enabled目錄,果然有新增了一條rewrite.load的鏈接。
網站題目:apache2在ubuntu11.10下的操作及問題匯總
文章分享:http://m.kartarina.com/article42/cpcdec.html
成都網站建設公司_創新互聯,為您提供App開發、自適應網站、虛擬主機、網站營銷、用戶體驗、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯