我很抱歉复杂的问题。我有一个网站,从MySQL数据库中读取内容,就像YouTube一样获取视频信息。
我有7列:id,title,desc,url,date,whosadded,views。
我想要做的是将网址从/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。
我被困在这一点上。
答案 0 :(得分:1)
你读过整篇文章吗? ForceType
不会为您神奇地转换网址...它只是强制将文件作为特定类型提供 - 因此您的.HTML网址可以解释为PHP。
您的视频是否存储在数据库中?你使用ID来提升它们?在这种情况下,你可以做的是在表格中添加一个额外的列,通常称为“slug”,并在其中存储“artist-song-music-video”的值 - 此列必须是唯一的。如果您认为可能有两个具有相同名称的页面,请同时使用URL中的ID和slug(例如,此站点的工作方式 - 例如videos/5/artist-song-music-video
)。
然后,你实际做的是将网址 - /artist-song-music-video.html
重写为/video.php?page=artist-song-music-video
或类似的东西。然后在您的index.php
中,您通常会有一个“路由器”,它需要$_GET['page']
,在数据库中查找该子弹,并显示正确的内容。
我不记得像这样翻译网址的确切mod_rewrite
规则,但网上有很多教程。谷歌吧。
向我提出artist
和song
可能是变量。在这种情况下,将“slug”替换为两个可能存在的列“艺术家”和“歌曲”,并以这种方式查找。只需破解“-music-video.html”部分。我真的不知道你的计划是什么,所以我不能多说。