The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Настройка htaccess, !*! dcrom, 27-Янв-12, 23:25  [смотреть все]
Здравствуйте!

Есть .htaccess:
AddHandler cgi-script .cgi
Options +ExecCGI
DirectoryIndex  index.cgi index.html
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA]

Как сделать чтобы в отдельные директории пользователь войти не мог, а шло перенаправление на index.cgi с параметром?

Например, нужно обрабатывать путь /plugins

  • Настройка htaccess, !*! felicson, 07:49 , 29-Янв-12 (1)
    > Здравствуйте!

    Как вариант

    RewriteRule ^/plugins.*$ index.cgi?bla=bla [R,L]


    Только его надо выше RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA]


    • Настройка htaccess, !*! felicson, 07:51 , 29-Янв-12 (2)
      Код возврата для редиректа подставляется так, например для 301 [R=301]

    • Настройка htaccess, !*! dcrom, 17:38 , 09-Фев-12 (3)
      Здравствуйте!
      Не получилось.
      Вот мой .htaccess, без Вашей строки.

      AddHandler cgi-script .cgi                                                      
      Options +ExecCGI.                                                              
      DirectoryIndex  index.cgi index.html                                            
      RewriteEngine on                                                                
      RewriteBase /                                                                  
      RewriteCond %{REQUEST_FILENAME} !-f                                            
      RewriteCond %{REQUEST_FILENAME} !-d                                            
      RewriteCond %{REQUEST_FILENAME} !-s                                            
      RewriteCond %{REQUEST_FILENAME} !-l                                            
      RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA].

      >> Здравствуйте!
      > Как вариант
      > RewriteRule ^/plugins.*$ index.cgi?bla=bla [R,L]
      > Только его надо выше RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA]

      • Настройка htaccess, !*! felicson, 22:12 , 09-Фев-12 (5)
        >[оверквотинг удален]
        > RewriteBase /
        > RewriteCond %{REQUEST_FILENAME} !-f
        > RewriteCond %{REQUEST_FILENAME} !-d
        > RewriteCond %{REQUEST_FILENAME} !-s
        > RewriteCond %{REQUEST_FILENAME} !-l
        > RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA].
        >>> Здравствуйте!
        >> Как вариант
        >> RewriteRule ^/plugins.*$ index.cgi?bla=bla [R,L]
        >> Только его надо выше RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA]

        Проблема в том что в .htaccess директива [L] не действует(http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_l), и правила прогоняются полностью
        в контексте <VirtualHost> все ок, достаточно строк:

        RewriteRule ^/plugins /index.cgi?bla=bla [R,L]
        RewriteRule ^(.*)$ /index.cgi?%{QUERY_STRING} [L,QSA]


    • Настройка htaccess, !*! dcrom, 21:38 , 09-Фев-12 (4)
      Всё нормально. Получилось!
      Спасибо!


      • Настройка htaccess, !*! felicson, 22:12 , 09-Фев-12 (6)
        > Всё нормально. Получилось!
        > Спасибо!

        Покажи решение :)

        • Настройка htaccess, !*! dcrom, 20:08 , 11-Фев-12 (7)
          >> Всё нормально. Получилось!
          >> Спасибо!
          > Покажи решение :)

          AddHandler cgi-script .cgi                                                      
          Options +ExecCGI                                                                
          DirectoryIndex  index.cgi index.html                                            
          RewriteEngine on                                                                
          RewriteBase /                                                                  
          RewriteCond %{REQUEST_FILENAME} !-f                                            
          RewriteCond %{REQUEST_FILENAME} !-d                                            
          RewriteCond %{REQUEST_FILENAME} !-s                                            
          RewriteCond %{REQUEST_FILENAME} !-l                                            
          RewriteRule ^/plugins.*$ index.cgi?%{QUERY_STRING} [R,L]                        
          RewriteRule ^/themes.*$ index.cgi?%{QUERY_STRING} [R,L]                        
          RewriteRule ^(.*)$ index.cgi?%{QUERY_STRING} [L,QSA]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру