Перенаправить URL с косой чертой

[Д0] / ^ + 1 \ S * (\ d {3} (:) | [- | \ с]??????) \ S * \ d {3} [- | \ с]? \ d {4} $ /

Хотя этот пост является старым, но хочет оставить мой вклад. (555) 555-5555 1 555 555 5555 1 555-555-5555 1 (555) 555-5555

это не принято: 555-5555 -> принять это использование: ^ +? 1? \ s *? (? (\ d {3})? (? :) | [- | \ s])? \ s *? \ d {3} [- | \ s]? \ D {4} $ 5555555 -> принять это использование: ^ +? 1? \ S *? (? (\ D {3})? (? :) | [- | \ s])? \ s *? \ d {3} [- | \ s]? \ d {4} $ 1 555) 555-5555 123 ** & amp; !! asdf # 55555555 (6505552368) 2 (757) ) 622-7382 0 (757) 622-7382 -1 (757) 622-7382 2 757 622-7382 10 (757) 622-7382 27576227382 (275) 76227382 2 (757) 6227382 2 (757) 622-7382 (555) ) 5 (55?) - 5555

это код, который я использовал:

function telephoneCheck(str) {
  var patt = new RegExp(/^\+?1?\s*?\(?\d{3}(?:\)|[-|\s])?\s*?\d{3}[-|\s]?\d{4}$/);
  return patt.test(str);
}

telephoneCheck("+1 555-555-5555");
0
задан Aliz 18 March 2019 в 17:05
поделиться

2 ответа

Ну, спросите: «Как я могу перенаправить мои новые URL на тот же URL + косую черту?»

Ответ очевиден: путем реализации именно этого правила. Есть только тысячи примеров для этого здесь, на SO. Никто из тех не помог? Почему бы и нет?

В любом случае, вот еще один:

RewriteEngine on
RewriteRule ^/blog/([^/]+)$ /blog/$1/ [R=301]
RewriteRule ^/blog/([^/]+)/$ /blog/$1 [END] 

Вы должны позаботиться о том, чтобы отправить ссылки с ведущими косыми чертами с этой настройкой. Так как в противном случае ваш сайт будет работать очень медленно, так как клиентам придется запрашивать каждую страницу дважды из-за перенаправления, необходимого для каждой страницы ...

Хорошей идеей будет начать с временного перенаправления 302 и изменить его только на постоянное перенаправление 301 позже, как только вы убедитесь, что все настроено правильно. Это предотвращает проблемы с кешированием при попытке ...

В случае, если вы получаете внутреннюю ошибку сервера (http status 500), используя вышеприведенное правило, есть вероятность, что вы используете очень старую версию http-сервера apache. В этом случае вы увидите определенный намек на неподдерживаемый флаг [END] в файле журнала ошибок http-серверов. Вы можете попробовать обновить или использовать более старый флаг [L], он, вероятно, будет работать так же в этой ситуации, хотя это немного зависит от ваших настроек.

Это правило будет работать аналогичным образом в конфигурации хоста http-серверов или внутри файла динамической конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете динамический файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и чтобы он находился в папке хоста DOCUMENT_ROOT.

И общее замечание: вы всегда должны размещать такие правила в конфигурации хоста http-серверов вместо использования файлов динамической конфигурации («.htaccess»). Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, требующих написания своих собственных правил (что является очевидным кошмаром безопасности).

0
ответ дан arkascha 18 March 2019 в 17:05
поделиться

Если вы имеете в виду ссылки на prestashop по умолчанию, такие как продукты, категории и т. Д., Вы можете просто изменить способ их создания. Prestsahop позволяет нам достичь этого в админ-панели Configure->Shop Parameters->Traffic & SEO->SEO and URL's>Schema of URLs (для PS 1.7). И там измените интересующий URL, например, Маршрут к категории с {id}-{rewrite} на {id}-{rewrite}/. И вам не нужно ничего перенаправлять.

0
ответ дан Alexander Grosul 18 March 2019 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: