mod_rewrite

Тема в разделе "Ошибки при работе с Joomla", создана пользователем delux, 23.02.2011.

  1. Offline

    delux Недавно здесь

    Регистрация:
    23.02.2011
    Сообщения:
    12
    Симпатии:
    1
    Пол:
    Мужской
    Итак, я хочу включить mod_rewrite для упрощения длины моих ссылок, тоесть что бы было не http://мойсайт.ru/index.php/-pc/13--infamous-243--infamous-2 а было http://мойсайт/-pc/143--infamous-2 . Говорят поисковики лучше будут воспринимать. Но вот когда я включаю в настройках админки в джумле mod_rewrite то главная страница работает, а вот если перейти на любую другую то появляется: http://saveimg.ru/show-image.php?id=658d619a073b2fb5bed05f6078f340f5 . Слышал, что проблема может быть в .htaccess . Вот что у меня при открытии блокнотом .htaccess там написано:
    AddHandler application/x-httpd-php .htm .html
    Прошу вас помоч в решении моей проблемы)
     
  2.  
  3. shahin
    Offline

    shahin р-т => Cпециалист <=

    Регистрация:
    22.04.2010
    Сообщения:
    438
    Симпатии:
    38
    Пол:
    Мужской
    откройте .httacess
    пишите там вот эти строки:
    ########## Начинаем запись правил чтобы заблокировать основные эксплойты
    #
    # Блокируем любой скрипт пытающийся получить значение mosConfig через URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
    # Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL
    RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
    # Блокируем любой скрипт который содержит тег < script> в URL
    RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
    # Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
    # Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
    # Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2)
    RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
    # Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard)
    RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
    RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
    # Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## Заканчиваем запись правил чтобы заблокировать основные эксплойты

    не забудте включить mod_rewrite в настойках хоста..
     
  4. shahin
    Offline

    shahin р-т => Cпециалист <=

    Регистрация:
    22.04.2010
    Сообщения:
    438
    Симпатии:
    38
    Пол:
    Мужской
    а вместо смайлика вот это B ) только без пробела
     
  5. Offline

    delux Недавно здесь

    Регистрация:
    23.02.2011
    Сообщения:
    12
    Симпатии:
    1
    Пол:
    Мужской
    Прописую указонное выше, и получается вот так:
    AddHandler application/x-httpd-php .htm .html
    ########## Начинаем запись правил чтобы заблокировать основные эксплойты
    #
    # Блокируем любой скрипт пытающийся получить значение mosConfig через URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
    # Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL
    RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
    # Блокируем любой скрипт который содержит тег < script> в URL
    RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
    # Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
    # Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
    # Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2)
    RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
    # Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard)
    RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
    RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
    # Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## Заканчиваем запись правил чтобы заблокировать основные эксплойты

    И вот что получается при выключеном и включенном модуле mod_rewrite: http://saveimg.ru/show-image.php?id=5dd5e32380afa79f8f7f91cdb1eb7d25
    Может что то с .httacess ? вот ссылка на мой .httacess с который мой сайт работает: http://fayloobmennik.net/418767
     
  6. Offline

    _voland_ Местный => Cпециалист <=

    Регистрация:
    12.04.2008
    Сообщения:
    2 171
    Симпатии:
    102
    Пол:
    Мужской
    Ругаться на хостера
     
  7. shahin
    Offline

    shahin р-т => Cпециалист <=

    Регистрация:
    22.04.2010
    Сообщения:
    438
    Симпатии:
    38
    Пол:
    Мужской
    хостеру пишите может нет поддежка .httacess mod_rewrite в настойках хостинга включили?? не в джумле а именно в настройках хоста, ну потом и в джумле можно
     
    delux нравится это.
  8. shahin
    Offline

    shahin р-т => Cпециалист <=

    Регистрация:
    22.04.2010
    Сообщения:
    438
    Симпатии:
    38
    Пол:
    Мужской
    если и с хостером все ОК то попробуй вот это:

    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks

    #
    # mod_rewrite in use

    RewriteEngine On

    ########## Begin - Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    ## Deny access to extension xml files (uncomment out to activate)
    #<Files ~ "\.xml$">
    #Order allow,deny
    #Deny from all
    #Satisfy all
    #</Files>
    ## End of deny access to extension xml files
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## End - Rewrite rules to block out some common exploits

    # Uncomment following line if your webserver's URL
    # is not directly related to physical file paths.
    # Update Your Joomla! Directory (just / for root)

    # RewriteBase /
     
  9. Offline

    delux Недавно здесь

    Регистрация:
    23.02.2011
    Сообщения:
    12
    Симпатии:
    1
    Пол:
    Мужской
    Как понять в настройках хостинга?)
    Где то в нете наш что нада добавить в htatec вот такую байду:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)$ /index.php

    Но вот вопрос. всё ли будет нормально?, или лучше твоим способом?)
     

Поделиться этой страницей

Загрузка...