Назад | Перейти на главную страницу

URL-адрес Apache замените `-` на` _`

как использовать перезапись 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] ?

sedhyphen.sh:

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

httpd conf:

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 (Они конвертировали наоборот)

Вы также можете сделать что-то подобное, но это менее динамично

RewriteCond% {REQUEST_URI} ^ (.) - (.) - (.) / $ RewriteRule (.) - (.) - (.) / http://website.com$ 1_ $ 2_ $ 3 / [R = 301]

Из: http://yoast.com/apache-rewrite-dash-underscore/