嗨,这是我的第一篇文章,希望你对我的新手技能有耐心:P 我尝试使用NameVirtualHostconfiguration我的apache2服务器(ubuntu)。 在这一刻,我有3个域指向我的静态IP; domain1.dyndns.org,domain2.com,domain3.com 我的愿望是,domain2.com和domain3.com将被configuration为虚拟主机指向他们的特殊目录。 像访问我的路由器(domain1.dyndns.org:8080)远程的所有其他HTTP请求将被指向domain1.dyndns.org并从那里访问。 现在我有一个问题从Apache服务器重新启动时,我不能看到问题,注意我没有启用默认文件,只有domain2.com和domain3.com,如果我启用默认其他域指向我的www目录,我还是不明白这个问题: /etc/init.d/apache2 restart * Restarting web server apache2 [Wed Jul 06 13:16:24 2011] [warn] _default_ VirtualHost overlap on port 80, the first has precedence … waiting [Wed Jul 06 13:16:26 2011] [warn] _default_ VirtualHost overlap on port 80, the first has precedence 这是我现在的configuration: ports.conf: Listen 80 Listen 443 /站点可用/默认: […]
我知道这是可能的lighttpd,但有没有办法达到同样的事情与Apache或更好的,Nginx?
我正在使用Ubuntu Linux和Apache2以及几个虚拟主机,它们位于/etc/apache2/sites-enabled并且从/etc/apache2/sites-enabled symlinked(激活)。 Ubuntu上的默认设置。 我想知道是否有可用于Apache的通用工具列出所有的虚拟主机信息: 所有可用网站的列表 所有启用的网站列表 apache使用的所有启用的网站列表(在“重新加载”之后启用网站) 在这些列表中,我想看到: 虚拟主机的域(和端口)。 虚拟主机的目录。 vhost文件中是否存在(语法)错误。 很明显,我可以做一些诡计,sed-ing和awking来获取这些信息,但是我确信这已经在某处正确地完成了:)
我正在运行Apache,CentOS 6。 我有一组url,如果他们被击中,我希望用户指向的index.php 我不明白为什么这些规则不起作用。 谁能解释一下? 更新:新规则集 RewriteCond %{REQUEST_URI} ^/faculty/gray(/)?$ [NC,OR] RewriteCond %{REQUEST_URI} ^/includes(/)?$ [NC,OR] RewriteCond %{REQUEST_URI} ^/images(/)?$ [NC] RewriteRule ^(.*)$ index.php [R,L]
我试图有多个域名。 遵循Web的指示,并在lighttpd.conf文件中添加行: $ HTTP [“host”] =〜“(^ |。)example.com $”{server.document-root =“/var/www/example.com”} 但是当我重新启动服务器时出现错误: (configfile.c.859)source:/etc/lighttpd/lighttpd.conf line:37 pos:13variables名无效字符2012-02-15 07:38:57:(configfile.c.915)configfileparsing器失败:=〜 我到处都有人物〜我不知道为什么现在不能parsing它们。 我正在使用Debian 6
我们有两个nginx服务器。 第一台服务器通过www.example.com/partner收到请求。 他将整个请求发送到configuration了php + fastCgi的第二台服务器。 来自第二台服务器的Nginx访问日志: “GET / partner / HTTP / 1.0”200 2845 在第二台服务器上,我有一个看起来像这样的虚拟主机: server { listen my.ip:80; server_name www.example.com; root /var/www/example; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /partner/favicon.ico { log_not_found off; access_log off; expires max; } location @nocache { try_files $uri $uri/ /index.php?$args; } […]
所以我使用下面的模式来处理我的Apache的多个网站: <VirtualHost 192.168.1.100:80> # get the server name from the Host: header UseCanonicalName Off VirtualDocumentRoot /var/www/%0/docs VirtualScriptAlias /var/www/%0/cgi-bin </VirtualHost> 因此,如果客户访问www.example.com,实际上会指向/var/www/www.example.com/doc/,这很好。 但是,如果客户转到example.com呢? 它会指向/var/www/example.com/doc,这不是我们想要的。 所以我的问题是:有没有更好的scheme呢? 或者我应该怎么做才能解决这个问题?
我正在使用Apache服务器设置,我们要使用vhost中的SetEnv来定义代码是否在开发,testing版或生产环境中运行。 实际的Web应用程序正在Coldfusion 8 / JRun上运行。 我使用下面的代码在vhost中设置了值: <VirtualHost *:80> … SetEnv COLDFUSION_ENVIRONMENT development … </VirtualHost> 该应用程序读取这个值就好了。 但是,如果我使用Firefox中的“修改头文件”插件将名为COLDFUSION_ENVIRONMENT的头文件与另一个值(例如foobar)一起发送,则来自浏览器的值将在应用程序中使用,而不是在vhost中定义的值。 当然问题是为什么以及如何防止这个问题? 使用环境variables似乎是相当普遍的,以确定哪个服务器上运行的应用程序,所以如果这确实是这样做的,它看起来像一个非常大的安全漏洞,因为它会打开选项切换到生产服务器上的开发模式…有没有其他的最佳做法在Coldfusion中做到这一点? 更新: 我能够通过使用以下而不是SetEnv解决原始问题: <VirtualHost *:80> … RequestHeader set COLDFUSION_ENVIRONMENT development … </VirtualHost> 然而,它仍然感觉像一个黑客,我仍然想知道为什么ColdFusion基本上忽略SetEnv的价值,如果你把他们作为一个头,也如果有一个最佳做法与否。
我有一台运行VirtualBox(v4.122)的Windows 7主机和一台运行Apache2的Kubuntu 12.04虚拟机。 我可以从主机访问Apache服务器,但它只会加载默认的Apache欢迎页面,而忽略了所有的虚拟主机。 关于configuration的更多细节: Kubuntu虚拟机具有多个虚拟主机,当通过虚拟机内部的networking浏览器访问时,这些虚拟主机都可以正常工作。 我正在使用VirtualBox中的端口转发将主机上的端口8080发送到guest虚拟机上的端口80。 Kubuntu和C:\ Windows \ System32 \ drivers \ etc \ hosts中的/ etc / hosts都具有本地域的条目,并且设置为parsing为127.0.0.1 在Kubuntu机器上访问'localhost'会parsing到在默认虚拟主机(/ var / www /)中设置的目录,但访问localhost:8080服务器到服务器的默认网页(即“It works …”) 更新以添加来自apache2ctl -S的输出: VirtualHost configuration:127.0.1.1:80 is a NameVirtualHost default server dghportal.local (/etc/apache2/sites-enabled/dghportal.local:1) port 80 namevhost dghportal.local (/etc/apache2/sites-enabled/dghportal.local:1) port 80 namevhost local.classtoolkit.org (/etc/apache2/sites-enabled /local.classtoolkit.org:1) wildcard NameVirtualHosts and _default_ servers: *:80 […]
对于每个开发站点,我希望有一个唯一的端口号。 例如,domain.com:1234 这是我在我的httpd.conf文件中。 在重新启动页面domain.com:1234没有显示在浏览器中。 除了我已经做了什么工作之外,还有什么我需要做的吗? Listen *:1234 <VirtualHost *:1234> DocumentRoot /var/www/dev_sites/test ServerName domain.com </VirtualHost> 它看起来像是如果我去我的本地主机名(kk.local:1234)它显示。 有什么我需要做的dns吗? 我真的不想每次添加开发网站时都进入godaddy。 有没有办法呢?