вопрос по редиректу в .htaccess

Тема в разделе "Общие вопросы оптимизации", создана пользователем Marketologov, 5 сен 2011.

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

    Marketologov На форуме с: 6 фев 2011 Сообщения: 2.068

    Большая просьба помочь
    изначально было вот так (если честно смутно представляю что это):

    HTML:
    RewriteEngine  on
    
    RewriteOptions MaxRedirects=1 
    RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
    RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
    RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
    RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SERVER(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)DOCUMENT_ROOT(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SERVER[DOCUMENT_ROOT](.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)ftp(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)wget\%20
    RewriteRule ^.*$ http://127.0.0.1/ [R,L] 
    
    RewriteCond    %{REQUEST_FILENAME}  !-d
    RewriteCond    %{REQUEST_FILENAME}  !-f
    RewriteRule    ^(.+)$           index.php/$1
    
    
    #ErrorDocument 404 /index.php
    #DirectoryIndex index.html index.php
    
    #php_flag display_errors on
    #php_flag register_globals off
    #php_flag magic_quotes_gpc on
    AddDefaultCharset UTF-8
    надо было сделать редиректы с www на без нее и еще с index.php

    сделала так:

    HTML:
    RewriteEngine  on
    
    RewriteOptions MaxRedirects=1 
    RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
    RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
    RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
    RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SERVER(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)DOCUMENT_ROOT(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SERVER[DOCUMENT_ROOT](.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)ftp(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
    RewriteCond %{QUERY_STRING} ^(.*)wget\%20
    RewriteRule ^.*$ http://127.0.0.1/ [R,L] 
    
    RewriteCond    %{REQUEST_FILENAME}  !-d
    RewriteCond    %{REQUEST_FILENAME}  !-f
    RewriteRule    ^(.+)$           index.php/$1
    
    # html #
    RewriteCond %{HTTP_HOST} ^www.сайт.ru$ [NC]
    RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
    RewriteRule ^index\.php$ http://сайт.ru/ [R=301,L]
    
    #ErrorDocument 404 /index.php
    #DirectoryIndex index.html index.php
    
    #php_flag display_errors on
    #php_flag register_globals off
    #php_flag magic_quotes_gpc on
    AddDefaultCharset UTF-8
    после этого когда ввожу внутреннюю страницу в www то меня перенаправляет на страницу типа: сайт.ru//index.php/mesto//

    если удалить эту строчку "RewriteRule ^(.+)$ index.php/$1" (она мне показалась лишней... то по страницам помимо главной выдает 404

    подскажите плиз что неправильно
Статус темы:
Закрыта.