А что, для искоренения безнравственности обязательно нужно духовное воспитание? Я думаю, достаточно просто в детстве донести до ребенка, что такое хорошо, и что такое плохо. И религия с духовностью тут ни при чем.
edogs: Не в этом дело. "Строка запроса" (то что идет после ?) не является частью пути к имени файла и RewriteRule не обрабатывается (RewriteRule сам по себе обрабатывает только имя файла), поэтому и в скрипт параметры запроса не передаются.
Если нужна строка запроса, используйте %{QUERY_STRING}
На Ваш пример экстраполировать не хочется, но смысл в чем.
.htaccess RewriteEngine on
RewriteRule ^(.*html)$ index.php?q=%{QUERY_STRING} [L]
index.php print_r($_REQUEST);
при запросе a.html?ddd=fff
выдаст Array ( [q] => ddd=fff )
P.S.: Для Вашего случая придется видимо или разбирать строку запроса внутри скрипта (что самое разумное) или использовать условия в mod_rewrite по строке запроса
RewriteCond %{REQUEST_URI} или RewriteCond %{QUERY_STRING}
например
RewriteEngine on
RewriteCond %{QUERY_STRING} ddd
RewriteRule ^(.*html)$ index.php?q=%{QUERY_STRING} [L]
будет срабатывать только если в строке запроса встретится ddd
P.P.S.: (что-то нас расперло:))
попробуйте такой код
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(page.shtml)$ index.php?p=page&id=%1 [L]
Если экранировать, вообще не срабатывает и отдает 404 ошибку - страница не найдена. Без экранирования знака вопроса перенаправляет на нужную страницу, но переменной (которая после знака вопроса в исходном url) нет.
обязательно нужно!
На чем основана такая категоричность?
А что, для искоренения безнравственности обязательно нужно духовное воспитание? Я думаю, достаточно просто в детстве донести до ребенка, что такое хорошо, и что такое плохо. И религия с духовностью тут ни при чем.
Воспользуйтесь поиском. Скажем, запрос "Учебник по html". Думаю, начинать нужно с этого.
CunninGFox, как заставляешь себя не спать когда сексом занимаешься?
Делает это в вертикальном положении:)
А по теме: в последнее время в интернете провожу по 14-16 часов. Остальное время - поспать, поесть и т.п.
Раз в неделю выбираюсь в город решать оффлайн вопросы - налоговая, банк, деловые встречи и т.д.
давно фотал, когда еще в офисе на дядю работал..
За вашим столом весь офис обедал?:)
Superior, очень чисто...
Ага, люблю, чтоб во всем был порядок.
Это мое рабочее место. Извините за качество - снимал телефоном.
А что? Это же всемирно известный день розыгрышей. :)
Так вы приз разыграете или посетителей?
а если так попробовать, что получится?
RewriteRule ^(.*)\.shtml?(.*)$ index.php?p=$1&id=$2 [L,QSA]
Так тоже не получается - переменной нет
Superior добавил 17.01.2009 в 03:25
Не в этом дело. "Строка запроса" (то что идет после ?) не является частью пути к имени файла и RewriteRule не обрабатывается (RewriteRule сам по себе обрабатывает только имя файла), поэтому и в скрипт параметры запроса не передаются.
Если нужна строка запроса, используйте %{QUERY_STRING}
На Ваш пример экстраполировать не хочется, но смысл в чем.
при запросе a.html?ddd=fff
выдаст Array ( [q] => ddd=fff )
P.S.: Для Вашего случая придется видимо или разбирать строку запроса внутри скрипта (что самое разумное) или использовать условия в mod_rewrite по строке запроса
RewriteCond %{REQUEST_URI} или RewriteCond %{QUERY_STRING}
например
будет срабатывать только если в строке запроса встретится ddd
P.P.S.: (что-то нас расперло:))
попробуйте такой код
Последний код не работает - 404 ошибка
Superior добавил 17.01.2009 в 03:30
Сработал такой вариант:
RewriteEngine on
RewriteBase /razdel/
RewriteRule ^(.*)\.shtml?(.*)$ index.php?p=$1&id=%{QUERY_STRING} [L]
Всем спасибо за советы!
Попробуйте экранировать знак вопроса.
Если экранировать, вообще не срабатывает и отдает 404 ошибку - страница не найдена. Без экранирования знака вопроса перенаправляет на нужную страницу, но переменной (которая после знака вопроса в исходном url) нет.