htaccess mod_rewrite

Mac*_*Mac 2 php apache .htaccess mod-rewrite http

无论何时我去一个像这样的页面,我都想尝试一下这个:

http://www.example.com/character.php?id=3
Run Code Online (Sandbox Code Playgroud)

我希望mod重写将其更改为:

http://www.example.com/character/Jim_Carrey
Run Code Online (Sandbox Code Playgroud)

当然,ID是字符名称的行...

对于那种例子......我试图使用它,但似乎没有得到htaccess的大部分生产,因为我没有.htaccess真正使用过很多.

pix*_*ine 5

实际上反过来说:

  1. 在您的网站上,您可以按照希望的方式编写所有链接.例如http://www.site.com/character/Jim_Carrey

  2. 在你的数据库中,你添加了一个字段,通常称为"slug"或"post_slug",它引用了url的Jim_Carrey"部分.它必须是一个独特的元素,很像主键.所以请确保你有一个函数,它负责根据给定的字符串(例如帖子标题)创建slug并确保没有重复.

  3. 然后在你的.htaccess(在根文件夹上)你做了类似的事情

    RewriteEngine On
    RewriteRule ^character/([a-z0-9_\-]+)/$ character.php?slug=$1 [L,NC]
    
    Run Code Online (Sandbox Code Playgroud)
  4. 最后,在您的character.php脚本中,您执行的数据库查询不是针对ID,而是针对post_slug字段.