apache2在ubuntu11.10下的操做及問題彙總

這都是折騰了俺的問題, 俺要記錄下來, 以泄其憤:shell

1. 重啓apache:  apache

sudo /etc/init.d/apache2 restart

 

2. apache 虛擬主機之後出現 [warn] NameVirtualHost *:80 has no VirtualHostsubuntu

   解決辦法: 直接吧 httpd.conf 中 NameVirtualHost *:80 這行註釋掉vim

   緣由:NameVirtualHost語法錯誤 ,對於同一主機支持多個虛擬主機的狀況,只須要命名一次NameVirtualHost,若是在每一個虛擬主機配置文件中都加上NameVirtualHost *:80 ,則會報這個警告。服務器

    原來在/etc/apache2/ports.conf中定義了*:80的 VirtualHost , 我又在httpd.conf中從新定義了一遍, 因此呢, 就錯了. 只要註釋掉 httpd.conf中的 NameVirtualHost *:80 就ok了;ide

 

3.  ubuntu服務器開啓Apache重寫擴展 :spa

    第1步:   打開終端, 開啓擴展:rest

sudo a2enmod rewrite  

    或者是: code

sudo ln -s /etc/apache2/mods-cuailable/rewrite.load   /etc/apache2/mods-enabled/rewrite.load

   第2步:  修改一些東西

sudo vim /etc/apache2/sites-enabled/000-default

將其中全部的AllowOverride None  修改爲 AllowOverride All.

備註:000-default實則爲sites-available/default的連接,而AllowOverride None 則會徹底忽略.htaccess文件,rewrite規則就不能生效,另外注意您的程序文件的權限不能忘記開啓, 因此開啓擴展後必須修改000-default文件。it

而後重啓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的連接。

相關文章
相關標籤/搜索