Apache URL 重写 `-` 为 `_`

Apache URL 重写 `-` 为 `_`

如何使用 URL 重写,更改 URL

http://www.mydomain.com/this-is-a-new-article

http://www.mydomain.com/this_is_a_new_article

使用:

# RewriteRule ^(.+?)-(.+?)$ (.+?)_(.+?) [R=301,L,NE]

答案1

sedhyphen.sh:

#!/bin/sh
sed -u 's/-/_/g'

httpd 配置:

RewriteMap sed-hyphen prg:sedhyphen.sh
RewriteRule ^(.*)$ ${sed-hyphen:$1} [L]

确保 sedhyphen.sh 已设置为可执行文件。

取自 -https://stackoverflow.com/questions/2105009/mod-rewrite-replace-all-underscore-with-hyphen(他们正朝相反的方向转变)

你也可以做类似的事情,但它不太动态

重写条件 %{REQUEST_URI} ^(.)-(.)-(.)/$重写规则(.)-(.)-(.)/http://website.com$1_$2_$3/ [R=301]

从: http://yoast.com/apache-rewrite-dash-underscore/

相关内容