php - 通过 mod-rewrite 创建数千个 url

标签 php mysql .htaccess mod-rewrite

我正在编写一个网站,该网站在 mysql_database 中存储了大量用户,其中每个用户都有一个 ID 和个人资料名称(如 jim.button.1)以及其他字段。我想要一个具有以下结构的网址(通过例如用户 ID 上的 mysql_select 获取配置文件):www.mysite.com/jim.button.1

现在我知道我可以用 mod_rewrite_rule 做到这一点,但是如果有成千上万的用户,我会得到一个非常大的 .htaccess 文件。顺便说一下,我目前还不是 mod 重写方面的专家,但我了解它是如何工作的。

有没有办法做到这一点,比如在一个或两个 mod_rewrite_rules 中,或者是否有另一种聪明的方法来完成这个?

欢迎所有帮助。

最佳答案

您可以重写所有未映射到现有文件的 URL,使用:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
</IfModule>

然后通过 $_SERVER['REQUEST_URI'] 获取实际的 URL。这是一个例子:

$parts = parse_url($_SERVER['REQUEST_URI']);
$user = $parts['path'];

参见 https://github.com/zendframework/ZendSkeletonApplication/blob/master/public/.htaccess举个例子。

关于php - 通过 mod-rewrite 创建数千个 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865675/

相关文章:

wordpress - .htaccess文件自动修改

.htaccess - htaccess RewriteCond 中字符串的占位符通配符

php - 在 .htaccess 中使用 AddType .css 时浏览器不解释 .css 文件

php - 在不同条件下对同一数据库进行多选择

php - 如何在不刷新页面的情况下将文本和图像文件数据同时发送到MySQL数据库

php - 我的 sql 查询不能完全工作

java - 如何使用html、servlet将图像插入mysql

mysql - 我们如何从mysql事件数据和分层主数据中获取树的完整路径?

php - 哪个唯一 ID 用于博客和评论?

php - Mysql行号函数无法与PDO php一起使用