我购买了一个 VPS 主机,它只给了我 1 个 IP 地址,我将其用于我的第一个域名,并且它运行没有任何问题。
现在我的第二个域名不能使用与指向第一个域名相同的 IP 地址。
因此,我认为我唯一的选择是使用 GoDaddy 托管的 iframe 重定向,它将重定向到我的第一个域上的子文件夹,到目前为止该子文件夹有效。
现在我尝试加载 paypal <?php headers() ?>
,但由于该 iframe,我收到权限错误
Refused to display 'https://www.paypal.com/cgi-bin/webscr?notify_url=&cmd=_cart&upload=1&business=removed&address_override=1' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
如何避免我的第二个域名使用 Iframe 解决方案,同时又不弄乱我的第一个域名?
我忘了有人曾经告诉我,如果你有一个 IP 地址,你可以在上面托管多个网站,这没关系。据我所知,DNS 似乎无法通过端口工作,是的,我可以在不同的文件夹上托管多个网站,但这不是我所说的托管一个真正的网站,它必须由域名指向,所以这个 iframe 问题不会发生
我的服务器配置是 CentOS 6(Linux)操作系统自带的 httpd(apache)
答案1
编辑 /etc/httpd/conf/httpd.conf,确保其中包含“Listen 80”和“NameVirtualHost *:80”,然后添加您的虚拟主机。例如:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/example.com/public_html
ServerName www.example.com
ServerAlias example.com
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/access.log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/site2.com/public_html
ServerName www.site2.com
ServerAlias site2.com
ErrorLog /var/www/site2.com/error.log
CustomLog /var/www/site2.com/access.log common
</VirtualHost>
<VirtualHost ipaddress:443>
ServerAdmin [email protected]
DocumentRoot /var/www/site2.com/public_html
ServerName www.site2.com
ServerAlias site2.com
ErrorLog /var/www/site2.com/sslerror.log
CustomLog /var/www/site2.com/sslrequests.log
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
因此,在您的 /var/www/ 下,您应该有 2 个文件夹 example.com 和 site2.com,它们由您的 http 守护进程拥有。
您最好对如何使用 vhosts 做一些研究,因为这是一个非常基本的问题,不属于这里。