проблемы с регулярным выражением для правил .htaccess - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть что-то вроде этого в .htaccess для моего сайта:

RewriteRule ^ ([0-9] +) $ profilescorta.php? T = $ 1 [L]

То есть, если пользователь обращается по ссылке, например: http: // url / 1231231234 - страница отображается правильно

Теперь, если кто-то попытается получить доступ к такой ссылке, как: http: // url / 123.123.1234 - отобразится страница с ошибкой 404.

Я добавил это правило в .htaccess RewriteRule ^ ([0-9] +). (. *) $ 1 $ 2 [N]

Если кто-то получает доступ: http: // url / 123.123.1234 - страница отображается правильно, но теперь проблема в том, что на одной и той же странице есть 2 разные ссылки: http: // url / 123.123.1234 и http: // url / 1231231234

Могу ли я в любом случае сделать так, чтобы, когда кто-то обращается к http://url/123.123.1234, он был перенаправлен на http://url/1231231234?

Спасибо, Богдан

1 Ответ

0 голосов
/ 10 ноября 2011

Новое решение:

#Better 1 redirect /123.123.1234 -> /1231231234
#Assume phone number in this format: [3 Digits] Dot [3 Digits] Dot [4 Digits]
RewriteRule ^([0-9]{3})\.([0-9]{3})\.([0-9]{4})$ /$1$2$3 [R=301]

Старое плохое решение:

[Bad] Double redirect /123.123.1234 -> /123123.1234 -> /1231231234
RewriteRule ^([0-9]+).(.*) /$1$2 [R]
...