За последние 24 часа нас посетил 20791 программист и 1654 робота. Сейчас ищут 1750 программистов ...

Регулярка в ЧПУ не работает

Тема в разделе "Регулярные выражения", создана пользователем alegat2114, 24 мар 2015.

  1. alegat2114

    alegat2114 Активный пользователь

    С нами с:
    18 апр 2014
    Сообщения:
    32
    Симпатии:
    0
    Всем привет?

    Ребята, кто хорошо разбирается в регулярках ... я в этом не селен.

    Подскажите как заставить работать эту штуку?

    Нужно сделать чтоб все файлы, а это картинки, из папки сайт/img/myhost/ редиректило в сайт/myhost

    И при том что внутри папки myhost могут быть файлы и папки, то есть нужно редиректить только интервал /img/myhost/.

    Пример:
    с
    сайт/img/myhost/adsense/111111.jpg
    на
    сайт/myhost/adsense/111111.jpg

    Вариант:

    Код (Text):
    1. RewriteRule ^img/myhost/(.*)$ /myhost/$1 [R=301,L]
    Зарание спасибо!!!
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ты из стеснительных?
    кислород? азот? сера?

    как отладка-то проходит, углерод ты наш? рерайтер включен? оверрайд включен? симлинки фоловит?

    да, водород же еще.
     
  3. alegat2114

    alegat2114 Активный пользователь

    С нами с:
    18 апр 2014
    Сообщения:
    32
    Симпатии:
    0
    Ты химик или программист? или юмарист?...ты меня прям развеселил

    Вообщем, было так!

    Хочу на сайте _http://seo-audit.info/webmaster/tools/analysis/

    убрать папку /webmaster/, а этот код нашел в топиках...и просто занимался методом тыка.

    в от код в файле с которым пробывал

    Код (Text):
    1.  
    2. # BEGIN WordPress
    3. <IfModule mod_rewrite.c>
    4. RewriteEngine On
    5. RewriteBase /
    6. RewriteRule ^index\.php$ - [L]
    7. RewriteCond %{REQUEST_FILENAME} !-f
    8. RewriteCond %{REQUEST_FILENAME} !-d
    9. RewriteRule . /index.php [L]
    10. </IfModule>
    11. # END WordPressOptions
    12.  
    13. Options +FollowSymLinks
    14. RewriteEngine On
    15. RewriteBase /
    16.  
    17. RewriteCond %{REQUEST_FILENAME} !-f
    18. RewriteCond %{REQUEST_FILENAME} !-d
    19. RewriteRule ^webmaster/tools/(.*)$ /tools/$1 [R=301,L]
    Добавлено спустя 20 минут 42 секунды:
    Насколько я понимаю по своим баллам серы...он не находит слова webmaster
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    у тебя /tools/ никуда не ссылается а ты уже делаешь редирект с /webmaster/tools/ на /tools/
    научись отлаживать рерайтер и читай логику разрешения запроса.
     
  5. alegat2114

    alegat2114 Активный пользователь

    С нами с:
    18 апр 2014
    Сообщения:
    32
    Симпатии:
    0
    Решил попробывать убрать папку /tools/

    В подкаталоге корня /webmaster/ лежит еще один файл с таким кодом

    Код (Text):
    1.  
    2. RewriteEngine On
    3.  
    4. RewriteCond %{REQUEST_FILENAME} !-f
    5. RewriteCond %{REQUEST_FILENAME} !-l
    6. RewriteCond %{REQUEST_FILENAME} !-d
    7.  
    8. RewriteRule ^(.*)$ index.php?wtpath=$1&wtquery=%{QUERY_STRING} [L]
    9.  
    10. RewriteRule ^webmaster/tools/(.*)$ /webmaster/$1 [R=301,L]
    дело в том, что если я ставлю свой код выше первого RewriteRule

    то при открытии страницы браузер тормозит и выдает ошибку

    The requested URL /webmaster/ was not found on this server.

    а если ниже то тишина , так же как в корневом файле.
    а если убираю все строчки RewriteRule то просто 404
    но каталог /webmaster/ работает в обоих случаях

    Что это может быть? Может как то можно изменить первую строчку RewriteRule?
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ой ладно ты не читаешь я руки умываю
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    je suis selen...
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    il est selen тогда уж)))
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    je suis уже просто мемом стало в качестве универсальной отмазки, к которой не придраться, потому что она не содержит в себе никакого осмысленного посыла касательно темы, по которой отмазывающийся потек.
     
  10. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    если нужно убрать, то без рерайта лучше попробуйте обойтись. Все что-то увлекаться ими стали при любом слове об изменении вида url сразу пишут правило рерайта.

    p.s. tu es malade coco?
    (запал со школы этот текст в голову. Стали говорить так каждому кто ахинею несет на уроках)
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Fell-x27, да я минут через 10 врубился в твой посыл))))
     
  12. alegat2114

    alegat2114 Активный пользователь

    С нами с:
    18 апр 2014
    Сообщения:
    32
    Симпатии:
    0
    Вариант есть, но не получается ... вчера дотюкал.

    Можно перенести все скрипты сервисов в корень и тогда эта папка изчезнет, но там лежит свой .htaccess и файл index.php для перенаправления в вордпресс, так как она лежит в отдельной папке с переадресацией в корень.

    Но не пойму как можно совместить движок вордпресс со скриптом сервисов в корне сайта. За место главной страницы движка поставить главную скрипта.

    Пока читаю здесь http://habrahabr.ru/company/sprinthost/blog/129560/ врое все понятно описано, но сера закипает быстро )

    Может дашь какой то совет или наводку как их совместить, чтоб не изменять ссылки в вордпресс?

    Допустим я их изменю и сделаю дополнительный катлог, но получется я в одном месте убираю в другом создается. Как быть?
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    рерайтер должен выполнить правила вложенного каталога ранее чем правила корневого каталога