RewriteRule用于更好的URL

时间:2015-03-28 13:48:56

标签: apache .htaccess mod-rewrite

我想重定向像

这样的查询
www.example.com/mysite/post/3/title-of-the-post

www.example.com/mysite/display.php?id=3

.htaccess的根目录下设置www.example.com/mysite/文件。我试过了:

.htaccess file
---------------

RewriteEngine On
RewriteRule ^post/([0-9]+)/* index.php?id=$1 [L] 

为什么这不起作用? 如何在这种情况下设置RewriteRule?我是否需要在.htaccess中添加比这一行更多的行?

1 个答案:

答案 0 :(得分:2)

您最后不需要*(实际上应该是.*)因为您没有以$结束表达式。所以你可以这样做:

RewriteRule ^post/([0-9]+)/ index.php?id=$1 [L]

如果要关闭表达式,请使用:

RewriteRule ^post/([0-9]+)/.*$ index.php?id=$1 [L]