За последние 24 часа нас посетили 17668 программистов и 1631 робот. Сейчас ищут 1879 программистов ...

Несколько правил RewriteRule

Тема в разделе "Настройка веб-сервера", создана пользователем Linne, 16 сен 2014.

  1. Linne

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

    С нами с:
    19 июл 2014
    Сообщения:
    44
    Симпатии:
    0
    Здравствуйте, товарищи! У меня некоторая проблема с .htaccess.

    Содержимое .htaccess:
    Код (Text):
    1.  
    2. RewriteEngine On
    3. RewriteBase /
    4. RewriteCond %{REQUEST_FILENAME} !-f
    5. RewriteCond %{REQUEST_FILENAME} !-d
    6. RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
    7. RewriteRule ^(.*)$ innerpage.php?id=$1 [L,QSA]
    8. RewriteRule ^(\w+)$ $1.php [NC]
    Цели наверное понятны:
    первое правило должно приводить ссылки из вида exemple.org/index.php?page=1 в вид exemple.org/1
    второе из exemple.org/innerpage.php?id=12345 в exemple.org/12345
    третье — скрывает расширение php из ссылок типа exemple.org/category.php

    Вы таки будете смеяться, но у меня опять ничего путного из этого не вышло. В результате, работает только первое правило. Я пытался найти в сети ответ на мой вопрос, но мне удалось узнать только то, что моя конструкция заведомо обречена, т. к., в таком виде будет выполняться только первое правило.

    Как же их (эти три правила) «связать» то? Вся надежда на знающих синтаксис Apache форумчан.

    Заранее благодарен.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что за древние цмски у вас, которым надо урл в параметре скармливать?
     
  3. Linne

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

    С нами с:
    19 июл 2014
    Сообщения:
    44
    Симпатии:
    0
    Это такая «сборная солянка» из очень кривых своих скриптов, прикрученных к ним более/менее некривых несвоих и основаное на примере из книги Томаса Мийера «No Nonsense XML Web Development With PHP». Вообще, конечно, это я так изучаю php. Учебный это мой проект, так сказать. Когда я все-таки выучу php, планирую все это поделие обработать напильником, с чувством, с толком, с расстановкой. Вот таким образом, на старости лет решил освоить веб-разработку, глядишь и сайт создам для нашего НИИ ))).
     
  4. Linne

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

    С нами с:
    19 июл 2014
    Сообщения:
    44
    Симпатии:
    0
    Неужели никто не знаком с синтаксисом Apache?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я сижу на nginx =(
     
  6. Linne

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

    С нами с:
    19 июл 2014
    Сообщения:
    44
    Симпатии:
    0
    Товарищи! Помогите уже с .htaccess то! Явно же присутствуют знающие люди.
     
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Та же беда, либо всё уже настроили создатели фреймворка, либо nginx

    хм. так первое правило тянет на себя все варианты, естественно остальные не включатся. Такие вещи надо описывать снизу вверх, типа:
    - 1 частный случай
    - 2 частный случай
    - все остальное.