.htaccess 重写搜索引擎优化规则-url中的标题

.htaccess 重写搜索引擎优化规则-url中的标题,.htaccess,rewrite,.htaccess,Rewrite,假设我希望用户能够在中键入此url: www.website.com/blog/2453/I-gained-0.1%-more-scripting-knowledge-! 我试图在url中包含标题信息,以获得seo好处 我还想为我的查询包含一个id。实际上,我想选择id并忽略后面的标题内容,记住它的用户生成的文本,因此可以包含任何特殊字符 如何编写.htaccess重写规则,以便服务器使用适当的GET数据按如下方式读取该规则: www.website.com/blog.php?id=2453

假设我希望用户能够在中键入此url:

www.website.com/blog/2453/I-gained-0.1%-more-scripting-knowledge-!
我试图在url中包含标题信息,以获得seo好处

我还想为我的查询包含一个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]

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

如果ID始终是数字,请使用
([0-9]+)
而不是
([A-Za-z0-9-]+)

请尝试以下URL:

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]