我没有深入了解apache配置 经过++小时的google和实验并且变得紧张之后,我需要帮助确认使用端口80对我的“site-name”的所有请求总是在重定向到node.js socket.io服务器脚本时结束。
从浏览器我请求index.htm,它将执行socket.io的东西。
如何配置httpd-vhosts.conf以允许使用端口80调用php / js / html / ..(index.htm除外)为“site-name”而不是重定向到node.js?
(Xampp)Apache / 2.4.25(Win32)OpenSSL / 1.0.2j PHP / 5.6.30
httpd-vhosts.conf看起来像这样
<VirtualHost *:80>
ServerName site-name
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:8088/$1 [P,L]
ProxyPass http://localhost:8088/
ProxyPassReverse http://localhost:8088/
</VirtualHost>
的index.htm:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Socket.io</title>
</head>
<body>
<h1>Communication with socket.io!</h1>
<script src="http://site-name/socket.io/socket.io.js"></script> <script>
var socket = io();
console.log("socketId: " + socket.id);
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'client-data' });
});
感谢您的帮助 吉
答案 0 :(得分:0)
我通过简单地添加
找到了解决方案# no proxy for php cgi-bin
ProxyPass /php !
ProxyPass /cgi-bin !