为了账号安全,请及时绑定邮箱和手机立即绑定

多人游戏使用php空文件名?

多人游戏使用php空文件名?

PHP
智慧大石 2023-04-21 15:10:03
你好所以想在php上做一个多人游戏,就采用了随机生成链接的方式。例如 skribbl.io 游戏,在按下“创建私人房间”后,会为你的朋友创建一个随机链接来加入你:skribbl.io/?random_string like skribbl.io/?h4fwY8Ef所以对我来说,看起来他们有一个没有名称的 php 文件,他们为其提供随机字符串作为参数。但是我无法制作一个没有名字的 php 文件。所以我选择的是,每次用户点击我的游戏的“创建私人比赛”时,一个 php 脚本将复制一个已经存在的包含服务器端工作的 php 脚本,但将其命名为 random_string.php 就像玩家会写的y4aHr329sJ.php那样在 url 中:( mygame.com/y4aHr329sJ 没有 .php 因为 apache .htaccess 规则)但缺点是对于每个想要“创建私人房间”的人来说,我都会在服务器上复制更多不必要的文件。甚至以为我有一个脚本可以在游戏过期后删除所有过期的 random_string.php 文件(在一天的每个开始运行脚本并删除 1 天前的文件)我仍然认为这会适得其反。顺便说一句,我知道我在做类似的事情mygame.com/join?random_string,但我不是特别喜欢。另外,我不喜欢 apache .htaccess 自动转换mygame.com/random_string,mygame.com/join?random_string因为有些玩家喜欢从地址栏而不是“共享此链接”框中复制链接。另外,如果有一个解决方案没有 skribbl.io 在skribbl.io/*?*random_string.你的帮助意义重大。提前致谢!!
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

实际上,您在根文件夹中有一个 index.php 文件,但可以将 apache 配置为从 URL 中隐藏它。

.htaccess您可以通过放置这些配置(在项目的根目录或虚拟主机配置中)来实现

你需要启用mod_rewrite

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

如果你想保留 index.html 你可能需要创建一个像这样的路径: /rooms/random-room-name并像这样处理房间:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/rooms/(.*)$ /index.php?room=$1 [L]


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信