Apache是最流行的HTTP服务器软件之一,其以快速、可靠(稳定)而著称,并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,并且源代码全部开放。如果有自己的服务器或者VPS,并且不想为了方便而购买昂贵的控制面板的话,那自己动手配置Apache就成了一门必修课了。下面简单的介绍了如何通过设置Apache的http.conf文件,进行多个域名以及其相关的二级域名的绑定(假设我们要绑定的域名是minidx.com和ntt.cc,二级域名是blog.minidx.com,独立IP为72.167.11.30).
apache怎么绑定多个域名
打开http.conf
代码语言:javascript复制1、ServerName 127.0.0.1 修改成ServerName 72.167.11.30
2、#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"
3、在文件最后面有虚拟主机格式:
#<VirtualHost *>
# ServerAdmin [email]admin@minidx.com[/email]
# DocumentRoot /www/httpd/html/minidx.com
# ServerName minidx.com
# ErrorLog logs/minidx.com-error_log
# CustomLog logs/minidx.com-access_log common
#</VirtualHost>
//简单的添加:
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/
ServerName 72.167.11.30
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/minidx.com/
ServerName minidx.com
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/ntt.cc/
ServerName ntt.cc
</VirtualHost>
日志文件的话也可以按照自己的路径添加。
Apache如何添加二级域名
httpd.conf 中需要打开mod_rewrite功能(关于URL重定向的具体说明,可以参照.htaccess使用方法总结),具体操作就是,在httpd.conf 的最后,添加以下内容:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(. )$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改(例如在/etc/httpd/下面)。然后,在这个所在路径的目录下创建一个文件: vhost.map,内容为:
www.minidx.com /usr/local/www/minidx.com
www.ntt.cc /usr/local/www/ntt.cc
blog.minidx.com /usr/local/www/minidx.com/blog
最后,在网站根目录 /usr/local/www/下,创建对应目录就可以了。如果需要增加,修改或者删除域名,子域名,仅仅需要更改vhost.map文件,而不用重启apache进程。
.htaccess使用方法总结
By Minidxer | January 26, 2008
在利用.htaccess的Rewrite规则实现Discuz论坛的伪静态链接中已经提到过了.htaccess的重定向的使用,这里让我们来比较全面的了解一下.htaccess吧。.htaccess是Apache服务器的一个非常强大的分布式配置文件。正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。比如可以利用.htaccess文件创建自定义的“404 error”页面,更改很多服务器的配置。而我们所需要做的,仅仅是在这个文本文档中添加几条简单的指令而已。
Unix或Linux系统,或任何版本的Apache Web服务,都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。国外目前主流的虚拟主机提供商,几乎全部都支持自定义功能。
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
AccessFileName .config
笼统地来说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
●创建一个.htaccess文档
.htaccess是一个古怪的文件名(从Win的角度来说,它没有文件名,只有一个由8个字母组成的扩展名,不过实际上它是linux下的命名,而很多linux下的东西,我们向来都会认为很古怪的),在Win系统中是不可以直接通过“新建”文件来创建的,不过我们可以利用cmd中的copy来实现,比如copy sample.txt .htaccess。也可以先创建一个htaccess.txt,然后Ftp到服务器,通过FTP来修改文件名。
.htaccess的一个应用是