Метка: nginx

  • Убираем /index.php в nginx

    У меня есть сайтик, где главная страничка статическая, а весь динамический контент генерируется через index.php, на нем потребовалось, чтобы не дублировались страницы /index.php, /index.html и /. Вот как это сделать в nginx

    location ~ ^/index.(html|php)$ {
      if ($request_uri ~ ^/index.(html|php)) {
        rewrite ^.*$ / permanent;
      }
    }

    Теперь запросы на /index.html и /index.php будут давать 301 редирект на корень сайта, а сам сайт целиком будет работать как и прежде.

  • query string и rewrite в nginx

    На одном из сайтов потребовалось сделать 301 редирект всех URL на индекс, я прописал в конфиг вот такую конструкцию:

    if ( !-e $request_filename ) {
      rewrite ^.*$ / permanent;
    }

    Увы, URL, к которым добавлялись какие-то параметры типа http://example.com/url1?test=1 редиректились не совсем правильно: http://example.com/?test=1. Оказалось, чтобы этого избежать, подправить нужно совсем чуть-чуть:

    if ( !-e $request_filename ) {
      rewrite ^.*$ /? permanent;
    }

    И все, редирект теперь срабатывает на http://example.com/

  • Настройки nginx для популярных движков

    Только сегодня обнаружил, что на nginx.org существует целый раздел с настройками для популярных движков. Жаль, что мало, интересно посмотреть на различия со своими настройками.