php - 如何使用 htaccess 从 URL 中删除 ID 变量?

标签 php apache .htaccess seo

很抱歉提出复杂的问题。我有一个网站,可以从 MySQL 数据库中读取内容来获取视频信息,就像 YouTube 一样。

我有 7 列:id、title、desc、url、date、whosadded、views。

我想做的是将 url 从 /video.php?id=X 重写为 /title-music-video.html

有 ( http://www.devarticles.com/c/a/Apache/Using-ForceType-For-Nicer-Page-URLs/1/ ) 一篇文章,但 htaccess 的 ForceType 对我不起作用。

我知道有一种方法可以为优化链接向表中添加新列,但我不想在使用表单添加新记录时指定每个 seo url。

我卡在这一点上了。

最佳答案

你读过整篇文章吗? ForceType 不会神奇地为您转换 URL...它只是强制将文件作为特定类型提供服务——因此您的 .HTML URL 可以解释为 PHP。

您的视频是否存储在数据库中?你用身份证把他们拉起来?在这种情况下,您可以在表中添加一个额外的列,通常称为“slug”,并在其中存储“艺术家-歌曲-音乐-视频”的值——该列必须是唯一的。如果您认为您可能有两个名称相同的页面,请在 URL 中同时使用 ID 和 slug(就像这个网站是如何做到的 -- videos/5/artist-song-music-video例如)。

然后,您实际要做的是将 url -- /artist-song-music-video.html 重写为 /video.php?page=artist-song-music-video 或类似的东西。然后在您的 index.php 中,您通常有一个“路由器”,它接受 $_GET['page'],在数据库中查找该 slug,并显示正确的内容.

我不记得像那样翻译 URL 的确切 mod_rewrite 规则,但网上有很多教程。谷歌一下。


我突然想到 artistsong 可能是变量。在这种情况下,将“slug”替换为您可能存在的两个列“artist”和“song”,然后以这种方式查找。只需删除“-music-video.html”部分即可。我真的不知道你的计划是什么,所以我不能多说。

关于php - 如何使用 htaccess 从 URL 中删除 ID 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383381/

相关文章:

php - 输入区域中的新行在 PHP 中给出错误

PHP:2个表单不同的操作页面,只有1个表单操作有效

Php/Mysqli 错误,输出为空页

java - 使用 Apache http 客户端库将默认值添加到 HTTP 请求路径

.htaccess - 使用 .htaccess 的 SEO?而且,如何将伪造的子目录重定向到单个页面?

php - 无效查询,在 'INET_ATON (' IP 附近使用的语法')'

apache - 安全约束 web.xml url 模式安全

在tomcat上调试ajp

php - 创建数据库驱动的永久链接(干净的网址)

.htaccess - 如何使用 htaccess 重定向带有通配符的路径