подмена html

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем @sms, 27 июл 2009.

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

    @sms blog.4ua.info -SEO

    Регистр.:
    20 окт 2006
    Сообщения:
    413
    Симпатии:
    90
    помогите советом

    идут запросы вида 10cd.ru/12_65.html и тд вида 10cd.ru/**.html
    как сделать подмену выдачи что б по всем запросам к файлам (php & html)выдавалась страница к примеру 10cd.ru/readme.html

    запрос вида
    Код:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^.htaccess$ - [F]
    RewriteRule ^(.*)(_)([0-9]{10})_([0-9]{1,})\.html$ http://10cd.ru/readme.html
    RewriteRule ^(.*).php(/?)+$  http://10cd.ru/readme.html [L]
    </IfModule>
    
    не выходит, т.е редиректит, а мне необходимо что б в адресной строке оставался путь запроса.
    спасибо
     
  2. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Попробуй так:
    Код:
    RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ ./readme.html [L]
    
    Т.к. файлы у тебя реально существуют, то RewriteCond %{REQUEST_FILENAME} !-f тебе не надо, иначе не будет перезаписывать.
    http:// не указывай, тогда и редиректа не будет по идее.
     
  3. @sms

    @sms blog.4ua.info -SEO

    Регистр.:
    20 окт 2006
    Сообщения:
    413
    Симпатии:
    90
    так выдает
    Внутренняя ошибка сервера (500)

    возможно так

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*).html$ readme.html
     
  4. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    А в error логе что пишет по этому поводу?
    Вот конфиг с одного из серваков рабочий:

    Код:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ ./index.php
    
    Т.е. любой запрос на несуществующий файл отправляем на index.php, в строке броузера остается сделанный запрос...
    Просто в твоем случае, если файлы реально существуюют, эти правила их не перезапишут.
     
  5. @sms

    @sms blog.4ua.info -SEO

    Регистр.:
    20 окт 2006
    Сообщения:
    413
    Симпатии:
    90
    спасибо заработало данное правило.
    в том то и дело что файлы не существовали!
     
  6. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    124
    Адрес в строке браузера меняется когда происходит Внешний редирект. А он происходит тогда, когда либо явно задан флагом R, либо когда редирект происходит на полный урл типа http://www.site.ru/ даже если это тот же сайт. Т.е. просто нужно убрать имя сервера.

    В остальных случаях, редирект Внутренний, и адрес в строке не меняется.
     
  7. @sms

    @sms blog.4ua.info -SEO

    Регистр.:
    20 окт 2006
    Сообщения:
    413
    Симпатии:
    90
    всем спасибо,
    тему можно закрывать!
     
Статус темы:
Закрыта.