Php 使用.htaccess和mod_rewrite为数据库中的结果创建友好的URL
我有一个电影数据库,每个视频都有一个ID,标题和年份。 我想为每个人提供友好的URL。 我知道我必须使用修改, 如何动态执行? 最近,我通过在一个文件中添加类似 RewriteRule movie title year movie.php?id=17在文件末尾-当我通过表单添加电影时 但这不是一个好办法 我希望它以某种方式自动生成,就像每部电影的电影标题年一样Php 使用.htaccess和mod_rewrite为数据库中的结果创建友好的URL,php,mysql,.htaccess,mod-rewrite,Php,Mysql,.htaccess,Mod Rewrite,我有一个电影数据库,每个视频都有一个ID,标题和年份。 我想为每个人提供友好的URL。 我知道我必须使用修改, 如何动态执行? 最近,我通过在一个文件中添加类似 RewriteRule movie title year movie.php?id=17在文件末尾-当我通过表单添加电影时 但这不是一个好办法 我希望它以某种方式自动生成,就像每部电影的电影标题年一样 对不起,我的英语太差了。如果不使用mod_rewrite,或者使用最少的mod_rewrite,我会怎么做呢 这将需要一些工作,很难说不
对不起,我的英语太差了。如果不使用mod_rewrite,或者使用最少的mod_rewrite,我会怎么做呢 这将需要一些工作,很难说不知道更多关于您的设置 首先,我将更改数据库中的模式
SHOW CREATE TABLE电影
slug
为列添加唯一索引
将表名更改为“tmp_电影”movie
www.example.com/movies/index.php?movie_id=2034
你需要这样更有吸引力的东西
www.example.com/movies/murder-on-the-orient-express
从这部电影到东方快车上的谋杀案,唯一的办法就是手动重写每一部电影(这很荒谬),或者加上你遗漏的东西
希望这能有所帮助。你的可能副本实际上可以不用mod rewrite就可以做到这一点,你可以在数据库中保存一个slug或hash,然后当你在数据库中查找电影时,用它代替id,你可以做像
mydomain.com/movie.php/{slug}这样的链接
然后,如果您真的想通过重写删除movie.php
,您可以这样做。对于未来的电影,当你第一次创作它们的时候,你只需要投入一小段时间。。。没有重写更改。这些天我懒得修改重写规则。我有4行,我有漂亮的URL,它们实际上是最漂亮的。
www.example.com/movies/murder-on-the-orient-express