Проблема с поддоменами.

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Dj_StelS, 9 авг 2011.

  1. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    Сделал поддомены через htaccess следующим кодом:
    Код:
    RewriteCond %{HTTP_HOST} ^(www\.)?([a-z\-\.]+)\.domain\.ru
    RewriteRule (.*) sub/%2%{REQUEST_URI} [L,NS,QSA]
    Всё роаботает, кроме: когда заходишь например на test.domain.ru/style.css - nginx отдает 404, если же зайти на test.domain.ru/style.css/ т.е. со слешем на конце - тогда css стиль отдается, как исправить? тоже самое и с картинками всеми.
    За ранее спасибо
     
  2. vlad_v

    vlad_v

    Регистр.:
    30 июн 2006
    Сообщения:
    444
    Симпатии:
    67
    попробуй добавить такое
    Код:
    RewriteRule ^images/(.*)$ images/$1 [L]
    RewriteRule ^style.css$ style.css [L]
    
    Встречный вопрос знатокам модреврайт:
    Как организовать сабдомены четвертого уровня (сабдомены на сабдоменах)?
     
  3. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    нет, всё так же
     
  4. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Что это вобще такое?
    Если настройки панели позволяют сделать это через mod_rewrite, то это так же как для сабдоменов третьего уровня.
    Dj_StelS Попробуй так:
    Код:
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.+\.(?:jpe?g|css|js))$ /$1/
    
     
    Dj_StelS нравится это.
  5. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    это ложить в папку с субдоменом? не работает, пробывал в корень - не работает
    а факт, что отдает 404 ошибку nginx не важен? м.б. это из-за этого не работает?
     
  6. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    У меня сейчас такой набор правил:
    Код:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^localhost$
    RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9\-\.]+)\.localhost
    RewriteCond %{REQUEST_URI} !^/?sub
    RewriteRule (.*) /sub/%2%{REQUEST_URI} [L,NS,QSA]
    RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9\-\.]+)\.localhost
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.+\.(?:jpe?g|css|js))$ /$1/ [L]
    
    И для стилей, яваскриптов, и jpeg картинок идёт переброс на тот же адрес только со слешем в конце. Две строки, которые вы привели как пример это правила реврайта для апача, я без понятия как они вобще работают на Nginx:), там несколько иная система реврайтинга. Мало того, если для картинок, и т.п. добавляется в конец слеш, значит где-то накосячили с правилами, так что весь код в студию.
     
    Dj_StelS нравится это.
  7. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    Вот весь код .htaccess
    Код:
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^([^/\.]+)\.html/?$ index.php?page=$1 [L]
    RewriteCond %{HTTP_HOST} ^(www\.)?([a-z\-\.]+)\.domain\.ru
    RewriteRule (.*) sub/%2%{REQUEST_URI} [L,NS,QSA]
     
  8. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Цикл редиректов и всё, да и слеш там нечему добавлять. Попробуйте правила с 6-го поста, только localhost надо заменить на свой домен.
     
    Dj_StelS нравится это.
  9. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    неа, не помогло, но спасибо за попытку помочь)
    Есть ещё предложения?