2016-01-02 5 views
1

Я пытаюсь переписать некоторые URL-адреса, которые отображаются как 404, но я не могу заставить переписать работу. Урлы выглядят так: /ossobuco-alla-milanese​​/1451114854360.1451114854360?time=1451114851111. Я хотел бы удалить 1451114854360.1451114854360?time=1451114851111 с переписыванием.Переписать с 404 URL-адресами с nginx

В моей Nginx конфигурации У меня есть следующие правила перезаписи

rewrite "^\/(.*)\/(\d{13}\.\d{13}\?time=\d{13})$" /$1/ permanent;

Я проверил регулярное выражение в 2 онлайн инструментов регулярных выражений regex101 и regex pal и он должен работать, но, кажется, не работает на моем сервере ,

ответ

0

В конце концов его просто очень простой расположение блока и ? удаляет аргументы.

location ~* ^/(.+)/\d+\.\d+$ { 
    rewrite ^/(.+)/\d+\.\d+$ /$1? permanent; 
} 
1

Для сопоставления строки запроса использовать $args:

location/{ 
    if ($args ~* "^time=\d+") { 
     set $args ''; 
     rewrite "^/(.+)/\d+\.\d+/?$" /$1 permanent; 
    } 
} 

PS: Если вы хотите, чтобы соответствовать только 13digits.13digits затем использовать:

rewrite "^/(.+)/\d{13}\.\d{13}/?$" /$1 permanent; 
+0

Я попробовал это, и переписывает URL к https: //domain.tld/, а не https: //domain.tld/ossobuco-alla-milanese/ – Aegis

+0

Namaste анубхава! знаете ли вы о сайте, на котором мы можем поговорить? Я хочу, чтобы вы что-то посоветовали, можете ли вы помочь? – starkeen

+1

Dhanyavaad Anubhava sir, я никогда не создавал чат на этом сайте за 3 года. но я попробую попробовать и дам вам знать. СПАСИБО АНУХБАВА, сэр Джи, извините за моего бедного хинди, я так стараюсь это узнать. Я учу это. – starkeen

Смежные вопросы