Socket.io - 重定向到index.html,而不是.php

时间:2016-08-26 19:05:20

标签: php laravel websocket socket.io

我在Laravel& amp;上创建了非常基本的应用程序。 Socket.io但我有问题。
在app的根目录中,我有文件 app.js - 这是代码:

var app = require('http').createServer(handler);
var io = require('socket.io')(app);

var Redis = require('ioredis');
var redis = new Redis();

app.listen(8000, function() {
    console.log('Server is running!');
});

function handler(req, res) {
    res.writeHead(200);
    res.end('');
}

io.on('connection', function(socket) {
    //
});

redis.psubscribe('*', function(err, count) {
    //
});

redis.on('pmessage', function(subscribed, channel, message) {
    message = JSON.parse(message);
    io.emit(channel + ':' + message.event, message.data);
});

它重定向到public /目录 - 好吧,但他不会'看'索引。 php 仅在索引上。 html - 当我删除索引时。 HTML,我有一个空白页面 - 哪里有问题?
这是URL:http://socket.vertisan.usermd.net/

1 个答案:

答案 0 :(得分:-1)

通常,当Web服务器中没有配置将index.php作为DefaultIndex处理时,就会发生这种情况。要解决此问题,您应该采取以下措施:

<强>的Apache: 在您的laravel项目根目录中添加一个新文件并将其命名为.htaccess。编辑该文件并将以下内容添加到其中:

DirectoryIndex index.php

<强> Nginx的: 在您的位置栏中添加:

location / {
  try_files $uri $uri/index.html;
}

希望它有所帮助,如果您使用任何其他Web服务器,请告诉我并