php - PHP根据http请求创建目录
问题描述
我正在创建一个有多个用户的网站。每个用户都会获得一个类似http://example.com/username/ 的目录,我已经创建了数百个目录,其中包含此代码。
define("_USER_", basename(__DIR__));
require(__DIR__.'/../index.php');
所以它获取主 index.php 并向用户显示站点,常量USER用于从 mySQL 获取用户数据。
当用户请求http://example.com/username/时,是否可以创建一个“用户名”目录,或者是否有办法让浏览器看起来它位于请求的目录中。谢谢。
解决方案
你这样做的方式非常低效。您可以将所有不存在的文件请求重定向到单个 index.php。.htaccess 会有这样的东西:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php [L,QSA]
如果/username/
不存在,/index.php
将被执行。
推荐阅读
- concourse - fly登录不使用GITHUB账号
- ios - Swift Firebase 保存/更新具有相同子值的多个父级
- acumatica - localhost 实例上缺少 acumatica 项目自定义项目 ID
- azure-functions - 在 Azure Functions 中加载第 3 方 dll
- kubernetes - Kubernetes 事件重放编排
- c# - 在 UI 上下文中启动的任务
- java - 在字符串中设置新字符时 foreach 的行为
- java - 优化代码以在 java 上传递 TLE 的建议
- c# - 仅使用公钥验证签名(C#)
- docker - 运行 DLL 的 Docker Windows 容器