apache默認配置是不能開多個站點的,如果要開啟多站點,就要配置一下虛擬主機件,本教程前面部分來告訴大家如何開啟虛擬主機,后來我們順便來講講開啟rewrite模式,因為rewrite應用太廣范了.
Apache配置虛擬主機
修改httpd.conf,啟用Virtual hosts
#Include conf/extra/httpd-vhosts.conf,查找這行,把前面的#去掉.
注釋 DocumentRoot "D:/Program Files/Apache/Apache2.2/htdocs"
注釋:
- #<Directory />
- # Options FollowSymLinks
- # AllowOverride None
- # Order deny,allow
- # Allow from all
- #</Directory>
配置 /conf/extra/httpd-vhosts.conf,代碼如下:
- <VirtualHost 192.168.1.2:80> # 第一個虛擬主機
- ServerAdmin xxx@gmail.com # 管理員郵箱
- ServerName xxx.xx.com # 綁定的域名
- DocumentRoot "d:/www/wordpress" # 網站目錄
- ServerAlias xxx.Vevb.com #網站別名,可以不設置
- ErrorLog "logs/dummy-host.localhost-error.log" #日志
- CustomLog "logs/dummy-host.localhost-access.log" common
- </VirtualHost>
Apache開啟rewrite模式
打開Apache配置文件:Apache安裝目錄/conf/httpd.conf,搜索rewrite:會找到"#LoadModule rewrite_module modules/mod_rewrite.so",將前面的“#”去掉.
搜索AllowOverride:將"AllowOverride none"改成"AllowOverride all"。注意:這個AllowOverride是在<Directory "~/htdocs">標簽之內的那個。“~”為Apache的安裝目錄
在入口文件目錄加入.htaccess文件,如果.htaccess文件創建不了,可以到網上下一個,文件中寫入重寫規則,代碼如下:
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
- </IfModule>
我的PHP項目的入口文件是index.php,最后重啟Apache服務器.
新聞熱點
疑難解答