php - 如何在 PHP 中创建友好的 URL?

标签 php url friendly-url

通常,显示某些个人资料页面的做法或非常古老的方式如下:

www.domain.com/profile.php?u=12345

其中 u=12345 是用户 ID。

近年来,我发现了一些具有非常好的网址的网站,例如:

www.domain.com/profile/12345

如何在 PHP 中执行此操作?

大胆猜测一下,这是否与 .htaccess 文件有关?您能给我更多关于如何编写 .htaccess 文件的提示或示例代码吗?

最佳答案

根据this article ,您需要一个 mod_rewrite (放置在 .htaccess 文件中)规则,如下所示:

RewriteEngine on
RewriteRule ^/news/([0-9]+)\.html /news.php?news_id=$1

这映射了来自

的请求
/news.php?news_id=63

/news/63.html

另一种可能性是使用 forcetype 来实现,它会强制任何内容沿着特定路径使用 php 来评估内容。因此,在您的 .htaccess 文件中,输入以下内容:

<Files news>
    ForceType application/x-httpd-php
</Files>

然后index.php可以根据$_SERVER['PATH_INFO']变量采取行动:

<?php
    echo $_SERVER['PATH_INFO'];
    // outputs '/63.html'
?>

关于php - 如何在 PHP 中创建友好的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248058/

相关文章:

ruby-on-rails - rails : removing underscore from controller name

php - 将 1 个表单中的数据插入到 2 个 Mysql DB 中

javascript - 隐藏所有站点页面上的元素

php - 如果重复的 mysql 数据库如何插入或更新

php - 动态创建多个 codeigniter 应用程序,每个应用程序都有自己的子域和数据库,但代码库相同

javascript - 如何使用 javascript 命令在 jw player 中获取源 url

javascript - 如何使用 JavaScript 获取当前 URL?

javascript - (Node.js) 如何获取存储在服务器中的二进制文件的 URL?

apache - 尝试将 url 的一部分重写为特定的 php 文件

.htaccess 规则将图像文件的直接 View 重定向到页面,图像作为查询字符串传递