За последние 24 часа нас посетили 34997 программистов и 1758 роботов. Сейчас ищут 786 программистов ...

Точка в регулярке RewriteRule

Тема в разделе "Прочие вопросы по PHP", создана пользователем Mark32, 24 янв 2009.

  1. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    RewriteRule ^([a-zA-Z\.\-]+)$ index.php?k=$1 почему-то не работает! И причина в точке! Как её ставлю, всё... работа выражения заканчивается.... вообще фантомная проблема. HELP! Вообще не ясно.
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Попробуй её в конец поставить. Иногда помогает оО
     
  3. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Очь смешно. Мне вот не до шуток. нихера не ясно..
     
  4. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    ну а если серьёзно, точку вообще можно использовать в RewriteRule? Глупый конечно вопрос, но практика заморачивает этот вопрос. И сильно.
     
  5. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Выдает 500-ю ошибку, да?

    Дело в том, что происходит зацикливание: регулярка совпадает с index.php, на который ссылается выражение.
    PS: Внутри [] экранировать точку не надо, «-» — вообще не надо.

    RewriteCond $1 !^index.php$
    RewriteRule ^([a-zA-Z.-]+)$ index.php?k=$1
     
  6. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    AlexGousev!!!! РЕСПЕКТ!!!!!!!!!!!
    Всё работает!!! Слов благодарности найти не могу!! Гений!
     
  7. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Вопросище по htaccess! Подскажите пожалуйста!

    Вобщем содержимое:


    Код (Text):
    1.  
    2.  
    3. DirectoryIndex index.html
    4.  
    5. RewriteEngine on
    6.  
    7. RewriteCond %{REQUEST_FILE}   !-s
    8. RewriteRule ^.*\.(htm|html) main.php [L]
    9. RewriteRule ^$ main.php [L]
    Подскажите как сделать, чтобы строчка DirectoryIndex index.html "ужилась" с тем что ниже? А то не работает DirectoryIndex index.html
    А чтобы заработала нужно убрать код ниже.
     
  8. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Так и не решил задачу. Есть соображения?