Apache и RewriteRule

Discussion in 'PHP' started by Chaak, 21 Aug 2008.

  1. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Решил сделать чпу но чегото не получается:
    Code:
    RewriteRule ^install$ install.php [L]
    При запросе к /install появляется 404 ошибка. mod_rewrite включен. Подскажите в чем может быть проблема..
    [​IMG]
     
    #1 Chaak, 21 Aug 2008
    Last edited: 21 Aug 2008
  2. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    по логике вещей все верно, только что у себя проверил.
    mod_rewrite точно включен? уже были успешные случаи его использования?

    в httpd.conf директива
    AllowOverride
    должна быть установлена со значением All, чтобы .htaccess мог изменять любые параметры.
     
    #2 n1†R0x, 21 Aug 2008
    Last edited: 21 Aug 2008
  3. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Может скажу глупость, но файл install.php лежит там же где и .htaccess ? :)
     
    #3 disc, 21 Aug 2008
    Last edited: 21 Aug 2008
  4. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Да хоть куда его не клади...
    На локалхосте тоже самое :(
     
    #4 Chaak, 21 Aug 2008
    Last edited: 21 Aug 2008
  5. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Code:
    RewriteEngine on
    Есть такая запись над правилом?

    Весь .htaccess скинь чтобы было понятнее
     
  6. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Спасибо помогло
     
  7. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Бывает :)
     
  8. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    А могут еще какие нибудь причины по каторым модуль не срабатывает?
    Сборка: Apache/2.0.55(win32) PHP/5.1.0 под виндовс хп

    phpinfo();
    Loaded Modules:

    core mod_win32 mpm_winnt http_core mod_so mod_php5 mod_access mod_actions mod_alias mod_asis mod_auth mod_autoindex mod_cgi mod_dir mod_env mod_imap mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_userdir

    http.conf

    Code:
    <Directory "c:/webserver/www">
    Options Indexes Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    .htaccess

    Code:
    #second
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,QSA]
    index.php
    PHP:
    <?php
     
    echo $_SERVER['REQUEST_URI'];
        
    phpinfo();
     
    ?>
    При включение в .htaccess
    RewriteEngine on

    В браузере отображаеться ошибка веб сервера:


     
    #8 temp_late, 4 Sep 2008
    Last edited: 4 Sep 2008
  9. Dr1ver

    Dr1ver Elder - Старейшина

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    ХЗ не силён в этом вопросе.
    Лично я юзаю так:
    Code:
    
    RewriteEngine On
    RewriteRule !.(gif|jpg|png|js|css|htm|html|swf|rtf|doc|txt)$ index.php
    
    

    В скобках расширения файлов-исключений
     
    2 people like this.
  10. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    Спасибо за выражения, нужная вещь, искал я эти исключения но без успешно.
    А у тебя какой вебсервер, комплект?

    Пробовал Top Server ставить, вроде все хорошо, но модреврайт там тоже не получился, а у правайдерского на платном хостинге скрипт работаеют. Может версия старая на модреврайт.. Правда на топ сервере у меня перестали создаваться виртуальные хостинги, какойто глюк, в файлах вроде все создает, а через http не хочет видеть..
     
  11. Dr1ver

    Dr1ver Elder - Старейшина

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    Везде работает 100%
     
  12. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    Вообщем вылечил это так:
    httpd.conf:
    Code:
    <Directory "c:/webserver/www">
    Options Indexes Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    изменил на:
    Code:
    <Directory "c:/webserver/www">
    AllowOverride All
    </Directory>
    Все заработало, правда что означают те строки которые я стер так и не понял.. Может кто знает что они означают ради интереса, какаято из них блокировала мод реврайт.