htaccess редирект в папку

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

Статус темы:
Закрыта.
  1. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    htaccess и относительные пути

    На локальном компьютере document root был на папку public, а теперь на уровень выше, т.е.
    public_html
    |_public
    соответственно все пути к css,img,js стали неактуальны, т.е. /css/style.css нужно заменить на public/css/style.css. Что делать?
     
  2. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    Код:
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^.*?(/(style|images)/[^/]+\.(css|img|js))$ [NC]
    RewriteRule ^.*$ public%1 [L]
    в первых скобках перенаправляемые директории
     
    Phrack нравится это.
  3. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    не работает, структура папок:

    public_html <-теперь рут здесь
    |_public <-раньше рут был тут
    |_css
    |_images
    |_js

    в каждой может быть несколько подпапок

    для переброса всех обращений в / прописано
    RewriteRule .* /public/
    но картинки и цсс не работают

    UPD Решено. если вдруг кому то надо
    PHP:
    RewriteEngine On
     
    RewriteRule 
    ^\.htaccess$ - [F]
     
    RewriteCond %{REQUEST_URI} =""
    RewriteRule ^.*$ /public/index.php [NC,L]
     
    RewriteCond %{REQUEST_URI} !^/public/.*$
    RewriteRule ^(.*)$ /public/$1
     
    RewriteCond 
    %{REQUEST_FILENAME} -f
    RewriteRule 
    ^.*$ - [NC,L]
     
    RewriteRule ^public/.*$ /public/index.php [NC,L]
     
  4. NafanjaUa

    NafanjaUa

    Регистр.:
    12 мар 2007
    Сообщения:
    243
    Симпатии:
    42
    Код:
    mkdir ./public
    cd ./public
    ln -s ../css ./css
    вариант для линуха, хоть и не htaccess
     
Статус темы:
Закрыта.