在url中重写seo-title的规则

时间:2013-03-19 16:27:47

标签: .htaccess rewrite

假设我希望用户能够在以下位置输入此网址:

www.website.com/blog/2453/I-gained-0.1%-more-scripting-knowledge-!

我正在尝试将标题信息包含在网址中以获取搜索引擎优惠。

我还想为我的查询添加一个ID。实际上,我想要获取id和忽略之后的标题内容,记住其用户生成的文本,因此可以包含任何特殊字符。

如何编写.htaccess重写规则,以便服务器使用适当的GET数据将其读取如下:

www.website.com/blog.php?id=2453

这就是我所尝试过的,但坦率地说,我在这里已经超出了我的深度:

RewriteRule ^blog/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$  blog.php?id=$1 [NC,L]

1 个答案:

答案 0 :(得分:1)

您使用的重写规则应该有效,但网址中的.%!字符除外。 %字符在URL中使用不安全,因为它在URL语法中具有特殊含义。我也不会使用感叹号。

如果ID始终为数字,请使用([0-9]+)代替([A-Za-z0-9-]+)

试试这个网址:

www.website.com/blog/2453/I-gained-0.1-more-scripting-knowledge

遵守这条规则:

RewriteRule ^blog/([0-9]+)/[A-Za-z0-9\-\.]+/?$  blog.php?id=$1 [NC,L]