比如你有两个域名,一个是www.a.com 一个是www.b.com
环境搭建:
1.apt-get install apache2
2.apt-get install libapache2-mod-php5 php5
3.apt-get install mysql
4.修改/etc/hosts
第一行的127.0.0.1 localhost -> 127.0.0.1 www.a.com
127.0.0.1 www.b.com
5.删除掉/etc/apache2/sites-enabled的000-default
在/etc/apache2/sites-available新建a.conf和b.conf
a.conf如下
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.a.com
DocumentRoot /var/www/a
<Directory />
Options FollowSymLinks
DirectoryIndex index.php index.html index.htm
AllowOverride None
</Directory>
<Directory /var/www/a>
# Options Indexes FollowSymLinks MultiViews
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.a.com
DocumentRoot /var/www/a
<Directory />
Options FollowSymLinks
DirectoryIndex index.php index.html index.htm
AllowOverride None
</Directory>
<Directory /var/www/a>
# Options Indexes FollowSymLinks MultiViews
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
6.增加rewrite模块
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
7.重启apache2
apache2ctl restart就OK了...