Apache将两个连接的字符替换为url中的一个

时间:2017-08-16 21:35:36

标签: regex apache mod-rewrite

在htaccess中使用apache我只想在其后面有下划线的情况下替换url中的所有句点。

我希望example.com?index.php/blog/low_vs._high重定向到 example.com?index.php/blog/low_vs_high

有人能告诉我怎么做吗? 这是我的,不知道从这里去哪里或如何正确调试。感谢。

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(.*)\._(.*)$
RewriteRule ^(.*)\.(.*)$ /$1$2 [L,R=301]

1 个答案:

答案 0 :(得分:1)

您可以使用此规则:

# execute when there are multiple occurrences of ._
RewriteCond %{REQUEST_URI} ^/(.*)\.(_.*\._.*)$
RewriteRule ^ /%1%2 [L]

# execute when there is only one occurrence of ._
RewriteCond %{REQUEST_URI} ^/(.*)\.(_.*)$
RewriteRule ^ /%1%2 [L,NE,R=301]