apache重写规则将空格转换为连字符

时间:2013-08-30 00:12:33

标签: regex apache mod-rewrite

请考虑以下网址

http://example.com/ex/main/items/       a name    with     spaces  /72

我需要一个重写规则来添加.htaccess,将其转换为

http://example.com/ex/main/items/a-name-with-spaces/72

这有可能吗?

1 个答案:

答案 0 :(得分:0)

尝试将此添加到文档根目录中的htaccess文件:

RewriteEngine On

RewriteRule ^(.*?)/[\s]+(.*?)$ /$1/$2 [L,R=301]
RewriteRule ^(.*?)[\s]+/(.*?)$ /$1/$2 [L,R=301]
RewriteRule ^(.*?)[\s]+(.*?)$ /$1-$2 [L,R=301]

在您的htaccess文件中添加 之前的任何规则。

或者,您可以将它们添加到vhost或服务器配置中。您只需要使用/

为模式添加前缀
RewriteEngine On

RewriteRule ^/(.*?)/[\s]+(.*?)$ /$1/$2 [L,R=301]
RewriteRule ^/(.*?)[\s]+/(.*?)$ /$1/$2 [L,R=301]
RewriteRule ^/(.*?)[\s]+(.*?)$ /$1-$2 [L,R=301]