我的客户希望使用301重定向来强制其网站上的"www"子域.所以'example.com/something'解析为'www.example.com/somthing'等.
我想要做的只是将其添加到我的vhost文件中:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.*
DocumentRoot /data/apps/example.com/current/public
RailsBaseURI /
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我还确保通过以下方式启用了mod重写:
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
Run Code Online (Sandbox Code Playgroud)
我目前努力的结果似乎基本上是成功的.Apache重新启动,一切都按预期工作除了重写没有发生.所以'www.example.com'和'example.com'都解决了.浏览器不会被重定向到"www.example.com".有任何想法吗?我已经尝试重新加载配置并重启apache几次,但我似乎无法让重写规则正常工作.我是通过将它们放在vhost中而不是.htaccess文件中将它们设置在错误的位置吗?
这里的任何建议都会有用.我完全不知所措.
此问题特定于MediaTemple Dedicated-Virtual服务器.
当我通过Plesk Panel添加新的虚拟主机时,vhost配置保存在哪里?没有/etc/httpd/conf/httpd-vhosts.conf并且/var/www/vhosts/mydomain.com/conf/中没有任何内容
我正在尝试将子域设置为subversion服务器,提示赞赏.
我使用以下VHOST:
<VirtualHost *:80>
#Basic setup
ServerAdmin administrator@mydomain.com
ServerName www.mydomain.com
ServerAlias mydomain.com
<Directory /home/mydomain/public_html/mydomain.com/mydomain/apache/>
Order deny,allow
Allow from all
</Directory>
LogLevel warn
ErrorLog /home/mydomain/public_html/mydomain.com/logs/apache_error.log
CustomLog /home/mydomain/public_html/mydomain.com/logs/apache_access.log combined
WSGIDaemonProcess mydomain.com user=www-data group=www-data threads=20 processes=2
WSGIProcessGroup mydomain.com
WSGIScriptAlias / /home/mydomain/public_html/mydomain.com/mydomain/apache/mydomain.wsgi
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我访问www.mydomain.com时它工作正常,但mydomain.com带我到我的域名注册商控制页面(为了简单起见我使用他们的名称服务器.)这是我的vhost文件的问题或我需要配置的东西注册商?
我正在开发服务器上使用集中式CMS,CMS就在 /var/www/central-cms
该网站(我已经很多网站)是这个网址:http://web.localdomain.dev/site1/.
如何访问只要输入这个网址的CMS: http://web.localdomain.dev/site1/cms?
也许AliasMatch是解决方案?有关RegExp的任何帮助吗?
例
http://web.localdomain.dev/stackoverlow/
http://web.localdomain.dev/google/
http://web.localdomain.dev/yahoo/
等等
如果我将一个附加/cms到网址,此网址指向/var/www/central-cms
对于开发项目,我使用hosts文件将实际域指向localhost.我将虚拟主机定义添加到apache配置文件.我的问题是可以将所有"xyz.com"域重定向到"d:/xampp/htdocs/websites/xyz.com"目录吗?这样我每次都不需要添加vhost定义.
我目前在配置MAMP 2以使用SSL与多个虚拟主机(它与一个工作正常)时遇到了麻烦.就我而言,它只会为https-ssl.conf文件中列出的第一个虚拟主机提供SSL连接.
在我的httpd-vhosts.conf文件中,我有几个vhosts设置如下:
<VirtualHost *:80>
DocumentRoot "/Users/me/sites/something/"
ServerName something.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/me/sites/else/"
ServerName else.local
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在我的https-ssl.conf文件中,我有几个vhosts设置如下:
<VirtualHost *:443>
DocumentRoot "/Users/me/sites/something"
ServerName something.local:443
ServerAdmin you@example.com
ErrorLog "/Applications/MAMP/Library/logs/error_log"
TransferLog "/Applications/MAMP/Library/logs/access_log"
SSLEngine on
# SSL Cipher Suite:
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
# Server Certificate:
SSLCertificateFile "/Applications/MAMP/conf/apache/server.crt"
#SSLCertificateFile "/Applications/MAMP/conf/apache/server-dsa.crt"
# Server Private Key:
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server.key"
#SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server-dsa.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Applications/MAMP/Library/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
# SSL Protocol Adjustments:
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# Per-Server Logging:
CustomLog "/Applications/MAMP/Library/logs/ssl_request_log" …Run Code Online (Sandbox Code Playgroud) 所以我有一个非常简单的shell脚本,它在一个人的计算机的hosts文件中输入一个IP地址和一个域名.仅用于"开发目的!" 它工作正常,它只是输入IP地址和域名
192.168.53.215dev.env.os 192.168.53.215dev.source.os
我希望它输入它像这样:
192.168.53.215 dev.env.os 192.168.53.215 dev.source.os
所以基本上我希望它在IP地址和域名之间添加空间,遗憾的是我无法弄明白.任何帮助将不胜感激,这是一个简单的脚本,不应该与过于复杂的脚本混杂.请保持简单,并准确解释你正在做什么我想学习它没有为我做完感谢!
这是代码:
do shell script "/usr/bin/printf \"\\n# Add #####'s ip for Sourcebox\\n192.168.53.215\\dev.env.os\\n192.168.53.215\\dev.source.os\\n\" >> /etc/hosts; /usr/bin/dscacheutil -flushcache" with administrator privileges
Run Code Online (Sandbox Code Playgroud) 我在 Mac OS X 10.9.4 上运行 Apache 2.2.26 和 PHP 5.4.24。我在这个系统上运行了几个虚拟主机,并且它们都运行成功。我正在尝试将环境变量添加到其中一台虚拟主机,但我不希望它们位于 .htaccess 中,因此我唯一的选择是将它们添加到 httpd-vhosts.conf 中。
问题是,在我将环境变量安装到 httpd-vhosts.conf 文件中之后(当然,在我重新启动 Apache“sudo apachectl restart”之后),环境变量不会出现。但是,如果我将它们添加到 .htaccess (仅用于比较目的),它们看起来就很好。我缺少什么?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mysite.local
DocumentRoot "/path/to/mysite.com"
SetEnv siteid 1234
ErrorLog "/var/log/apache2/mysite.local-error_log"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我还仔细检查了我的 php.ini 文件,以确保其中没有任何禁止的内容,并且唯一相关的行看起来不错:
variables_order = "GPCSE"
Run Code Online (Sandbox Code Playgroud)
再次强调一下,我的虚拟主机运行良好。只是我的PHP代码中调用时没有出现环境变量。我已经尝试过这三个命令:
echo $_SERVER["siteid"];
echo getenv("siteid");
echo apache_getenv("siteid");
Run Code Online (Sandbox Code Playgroud)
我能做错什么吗?
我有以下 Nginx 服务器块:
server {
listen 80;
listen [::]:80;
server_name example.com;
root /usr/share/nginx/html;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost/page-1/;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望当用户在 example.com 上收到 404 错误时,proxy_pass应该更改为直接访问http://localhost/example-404/.
然而,这个服务器块和两者的服务器块http://localhost具有相同的root,所以或者它可以只指向/example-404/内部,我不确定哪个更容易做到。不管怎样,我希望浏览器地址栏中的地址保持不变。
我想要这个的原因是如果http://localhost直接访问服务器将会有一个不同的404页面。我真的很感激任何人对此的想法!
如何获得动态虚拟主机的错误日志文件?
server {
listen 80;
server_name ~^(?<folder>[^.]*).(?<user>[^.]*).dev.example.com;
root /var/www/projects/dev/$user/$folder/htdocs;
access_log /var/www/projects/dev/$user/$folder/access.log;
error_log /var/www/projects/dev/$user/$folder/error.log;
}
Run Code Online (Sandbox Code Playgroud)
root和access_log正常工作,但是如果我添加error_log行,则nginx无法启动,因为/ var / www / projects / dev / $ user / $ folder /不存在。
vhosts ×10
apache ×5
nginx ×2
regex ×2
virtualhost ×2
apache2 ×1
applescript ×1
error-log ×1
hosts ×1
macos ×1
mamp ×1
mediatemple ×1
mod-rewrite ×1
passenger ×1
php ×1
proxy ×1
scripting ×1
shell ×1
ssl ×1
svn ×1