你好所以想在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]
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报
0/150
提交
取消