Apache配置PHP相關配置

Apache配置PHP相關配置

  • 開啓URL重寫功能
LoadModule rewrite_module modules/mod_rewrite.so
  • 加載PHP模塊
LoadModule php5_module e:/server/php5.6/php5apache2_4.dll
  • 指定PHP文件交給PHP模塊處理
AddType application/x-httpd-php .php
  • 加載PHP.ini文件
PHPIniDir e:/server/php5.3.5
  • 指定默認目錄
DocumentRoot "E:/html"
  • 默認目錄的權限配置
<Directory "E:/html">
    # 首頁不存在不顯示文件列表
    Options FollowSymLinks

    # 開啓路由重寫
    AllowOverride all

    # 設置訪問權限
    Order allow,deny
    Allow from all
</Directory>
  • 默認模塊下的首頁
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
  • 開啓虛擬目錄
Include conf/extra/httpd-vhosts.conf
  • 虛擬目錄配置
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    # 目錄位置絕對路徑
    DocumentRoot "E:/project"
    # 訪問域名 
    ServerName localhost
    # 記錄日誌
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    # 目錄權限
    <Directory "E:/project">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
  • Options配置說明
Options指令的完整語法爲:Options [+|-]option [[+|-]option] 

簡而言之,Options指令後可以附加指定多種服務器特性,特性選項之間以空格分隔。
下面我們來看看Options指令後可以附加的特性選項的具體作用及含義(Apache配置中的內容均不區分大小寫):
1. All

表示除MultiViews之外的所有特性。這也是Options指令的默認設置。
2. None

表示不啓用任何的服務器特性。

  1. FollowSymLinks

服務器允許在此目錄中使用符號連接。如果該配置選項位於配置段中,將會被忽略。

  1. Indexes

如果輸入的網址對應服務器上的一個文件目錄,而此目錄中又沒有DirectoryIndex指令(例如:DirectoryIndex index.html index.php), 那麼服務器會返回由mod_autoindex模塊生成的一個格式化後的目錄列表,並列出該目錄下的所有文件(如下圖)。

  1. AllowOverride 選項

通常利用Apache的rewrite模塊對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 文件裏。
但要使 apache 能夠正常的讀取.htaccess 文件的內容,就必須對.htaccess 所在目錄進行配置。
從安全性考慮,根目錄的AllowOverride屬性一般都配置成不允許任何Override,即:

< Directory />
    AllowOverride None
< /Directory>

在 AllowOverride 設置爲 None 時, .htaccess 文件將被完全忽略。
當此指令設置爲 All 時,所有具有 “.htaccess” 作用域的指令都允許出現在 .htaccess 文件中。
而對於 URL rewrite 來說,至少需要把目錄設置爲:

< Directory /myblogroot/>
    AllowOverride FileInfo
< /Directory> 
  • AllowOverride的參數:

    1. AuthConfig

允許使用與認證授權相關的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
2. FileInfo

允許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元數據的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

  1. Indexes

允許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

  1. Limit

允許使用控制主機訪問的指令(Allow, Deny, Order)。
Options[=Option,…] 允許使用控制指定目錄功能的指令(Options和XBitHack)。可以在等號後面附加一個逗號分隔的(無空格的)Options選項列表,用來控制允許Options指令使用哪些選項。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章