我有一个问题,我真的希望这不是一个转储问题。我有使用CodeIgniter 2.1.4制作的“有点旧的应用程序”,我需要为此应用程序实现聊天功能。因此,我用相同的CI版本和nodejs创建了一个新的应用程序。基本上,我遵循this socket.io tutorial创建了节点应用,一切正常。我正在使用WAMP 2.5(Apache 2.4.9),并将节点应用程序放在www目录中,所以我有这样的东西:
www/
(application-folders)
my-chat (app folder)
node_modules (nodejs)
index.js (the nodejs app)
index.php
package.json
并且我已经成功运行了nodejs服务器(在端口3000)并使用my-chat应用程序作为客户端。来自codeigniter应用程序的Mi视图具有此功能:
script src="http://localhost:3000/socket.io/socket.io.js"></script>
和具有以下代码的js:
var socket = io('http://localhost:3000');
自然,除了很多其他代码。 因此,当我的节点应用程序运行时,服务器正在侦听端口3000,而我的codeigniter应用程序能够建立连接:
GET http://localhost:3000/socket.io/socket.io.js [HTTP/1.1 200 OK 52ms]
但是,问题是我不希望将nodejs应用程序放在wamp应用程序(www)的根文件夹中,而是在codeigniter应用程序中,如下所示:
www/
(application-folders)
my-chat/
application (ci folder)
system (ci folder)
node_modules (nodejs)
index.js (the nodejs app)
index.php
package.json
当我这样做时,出现错误(禁止访问):
GET http://localhost/my-chat:3000/socket.io/socket.io.js [HTTP/1.1 403 Forbidden 6ms]
您无权访问此服务器上的/my-chat:3000/socket.io/socket.io.js。
我当然更改了视图脚本src和var:
<script src="http://localhost/my-chat:3000/socket.io/socket.io.js"></script>
var socket = io('http://localhost/my-chat:3000');
我真的不知道是否可以通过对wamp httpd.conf进行一些修改或在我的CI应用程序根目录中使用.htaccess来解决此问题。我尝试将要求全部授予放在httpd文件的<Directory "c:/wamp/www/">
部分中,但没有成功。有任何想法吗?