Haii
所以我想在php上制作多人游戏,所以我采用了随机生成的链接方法。
例如,例如skribbl.io游戏,它将在按下“创建私人房间”时,为您的朋友创建一个随机链接以加入您的游戏:
skribbl.io/?random_string
like skribbl.io/?h4fwY8Ef
因此,对于我来说,似乎他们有一个没有名称的PHP文件,他们为此提供了随机字符串作为参数。但是我无法制作一个没有名字的php文件。
因此,我选择的是,每当用户单击我的游戏的“创建私人比赛”,一个php脚本就会复制一个包含服务器端工作的现有php脚本,但将其命名为random_string.php,例如y4aHr329sJ.php
因此玩家可以在网址中输入:mygame.com/y4aHr329sJ
(由于有.htaccess规则,因此没有.php)
但是缺点是对于每个想要“创建私人房间”的人,我都会在服务器上复制更多不必要的文件。
即使我有一个脚本,该脚本也会在游戏过期后删除所有过期的random_string.php文件(在每天运行脚本的第一天,并删除1天前的文件)
我仍然认为这适得其反。
顺便说一句,我知道我会做mygame.com/join?random_string
之类的事情,但我不是特别喜欢。
而且我也不喜欢apache .htaccess,因为有些玩家喜欢从地址栏中而不是从“共享此链接”框中复制链接,所以自动将mygame.com/random_string
转换为mygame.com/join?random_string
。
另外,如果有没有在skribbl.io/*?*random_string
中使用skribbl.io的问号的解决方案,我会更喜欢。
您的帮助意味着很多。预先感谢!
实际上,您在根文件夹中有一个index.php文件,但是可以将apache配置为从URL隐藏它。
您可以通过将这些配置(在项目根目录或虚拟主机配置中的.htaccess
中放置)来完成此操作
并且您需要启用mod_rewrite
。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]