Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: Michel_Mak от 18 Октября 2002, 14:13:52
-
Преобразовав url ?$action=menu_1 нужно получить, http://www.сайт.ru/меню_1/ , но при выполнении .htaccess
RewriteEngine on
Options +FollowSymlinks
RewriteBase /t/
RewriteRule ^(.*)menu/(.*)$ $1/?$2
и url http://www.сайт.ru/menu/2
получаю редирект на корень сайта ???
-
url ?$action=menu_1 нужно получить, http://www.сайт.ru/меню_1/
Такой запрос:
http://www.сайт.ru/php.pl?action=menu_1 ?
Вероятно описывается так:
RewriteRule ^(.*)$ ./php.pl?action=$1
-
RewriteRule ^(.*)$ ./php.pl?action=$1
При такой записи сервер выходит на 10060 - Connection timeout
Internet Security and Acceleration Server
-
Напиши полностью какой нужен запрос и на что он должен заменяться.
-
написал скрипт "книжная полка", данные берутся из базы url при этом выглядит так: ?&категория&книга&id_пользователя.
Если пользователь выбрал категорию показываю список книг (имеется сортировка по книгам и авторам) ей принадлежащих, при выборе книги - вывожу соответственно информацию по ней.
Хотел с помощью RewriteEngine сделать нормальный ЧПУ.
Но утыкаюсь в вышеупомянутую ошибку.
-
Я имел ввиду следующее:
Запрос такой maro.newmail.ru/index.php?id_cat=1&id_book=1&id_usr=1
Нужно получить из такого: maro.newmail.ru/id_cat/id_book/id_usr
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ $1/index.php?id_cat=$2&id_book=$3&id_usr=$4
Смотри сюда http://sitemaker.ru/technologies/webserver/mod_rewrite3/
-
Да, все правильно. ссылку уже прочитал, но при таком раскладе как
RewriteRule ^(.*)/(.*)/(.*)/(.*)$ $1/index.php?id_cat=$2&id_book=$3&id_usr=$4
вываливаюсь на 404 ошибку.
-
Что логи говорят?
-
Что логи говорят?
примерно следующее:
/полный путь/t/2 [Fri Oct 18 15:42:09 2002] [error] [client мой IP] File does not exist:
-
Michel_Mak, срочно читать тут: http://httpd.apache.org/docs/misc/rewriteguide.html и тут: http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteRule в частности про "флаги".
-
Вот сильнейшая статейка:
http://www.engelschall.com/pw/apache/rewriteguide/
Очень много примеров!
-
NeoNox и Alexandr
Спасибо за статьи. Но проблема остается. К сожалению, суппорты помочь не смогли, ссылаясь на неправильную работу mod_rewrite.
Если вписываю
RewriteEngine on
RewriteRule ^(.*)/(.*)$ $1/index.php?id_cat=$2
Происходит, что то совсем не понятное, рисунки и css (в директориях лежат) не грузятся (в errors выводятся ошибки, что таких файлов нет). Вернее сказать, открываются, но как то избирательно и не всегда. Ну и соответственно, при указании в url своего пути, наример, maro.newmail.ru/id_cat - выдается ошибка 404 (документ отсутствует).
-
А так не пробовал
Т.е. всегда от корня искать.
-
от корня искать
Саш, спасибо, но я специально прописал все от корня и выдержал все названия в едином стиле :)
-
В результате многочисленных экспериментов было выявлено, что команда RewriteBase / - вызывает ошибки при чтении информации из директорий с картинками и стилями. Реакция на ключи [R] и [L], в разных вариантах приводила к ненахождению страниц сайта или ошибкам.
Удалось с помощью команды RewriteRule ^page/(.*)$ index.php?page=$1 приблизиться к желаемому результату.
В данном случае url выглядит так http://www.мой_сайт.ru/page/about, но как убрать "page" (http://www.мой_сайт.ru/about) - загадка?
Может еще есть варианты?
-
Michel_Mak похоже мы вместе паримся над похожими проблемами :-(
-
Michel_Mak
Вот вам решение:
RewriteRule ^page/(.*)$ ./index.php?page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/?$ index.php?page=$1 [L]