你好所以想在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 關注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消