繁体   English   中英

添加-代替URL重写中的空格

[英]Add - instead of white spaces in url rewriting

我有这个网址:

http://www.site.com/en/about.php?id=112&name=andrew marshall dickens

我想这样重写它:

http://www.site.com/112/andrew-marshall-dickens.html

至今:

RewriteRule ^([^/]*)/([^/]*)\.html$ /en/about.php?id=$1&name=$2 [L]

我在使用'-'字符时遇到麻烦。有什么建议吗? 谢谢!

好吧,您正在尝试使用正则表达式从字符串中间删除字符,而在RewriteRule中间可能包含任意数量的该字符。 一方面,这实际上是不可能的,另一方面,您要传递ID,因此我假设您可以在PHP脚本中使用ID获得名称,因此实际上并不需要从URL解析名称。变量,作为第三个选项,如果要使用name变量,为什么不直接在输出字符串之前先str_replace PHP和ucwords()中的-字符串呢?

我相信您不需要传递名称参数,因为id可以实现。

无论如何:

RewriteRule ^([0-9]+)/([a-z-]+)\.html$ /en/about.php?id=$1&name=$2 [L]

但是,嘿,阅读评论后,我才意识到:您有什么问题? 您的正则表达式应该已经可以工作了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM