|
|
|
| Apache Version: Apache/2.0.59 (Win32)
в httpd.conf строка
LoadModule rewrite_module modules/mod_rewrite.so
|
раскоментирована
в phpinfo() пишет:
Loaded Modules : ..... mod_rewrite .....
|
создаю .htaccess
RewriteEngine On
RewriteRule ^([^.]+)$ index.php?&get_query=$1 [QSA]
|
и в index.php
$caughtURI = $_REQUEST['get_query'];
echo $caughtURI;
|
на экране пусто. | |
|
|
|
|
|
|
|
для: AlexSol
(03.01.2007 в 13:15)
| | Что хотите преобразовать во что? . - это спец-символ, его следует экранировать \. | |
|
|
|
|
|
|
|
для: cheops
(03.01.2007 в 15:50)
| | чисто ради эксперемента, чтоб понять как работает.
как например получить из
http://www.myballista.ru/index.php?gl_page=27&id_menu=2&id_item_sel=4
| это
http://www.myballista.ru/index.php/gl_page27
|
| |
|
|
|
|
|
|
|
для: AlexSol
(03.01.2007 в 17:12)
| | Можно попробовать так
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^index.php/gl_page([0-9]+) /index.php?gl_page=$1&id_menu=2&id_item_sel=4 [L]
|
| |
|
|
|
|
|
|
|
для: cheops
(04.01.2007 в 00:12)
| | понятно. при использование
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.*page([0-9]+) /index.php?gl_page=$1&id_menu=2&id_item_sel=4 [L]
|
я попадаю на нужную страницу введя как
http://www.myballista.ru/page23
так и
http://www.myballista.ru/index.php?gl_page=27&id_menu=2&id_item_sel=4
а можно ли хранить (точнее как это организовать) набор правил в отдельном файле?
например в modx (http://modx.ru/) присоздание страницы есть возможность задать ей псевдоним, тоесть получаеся примерно так:
RewriteRule ^news$ /index.php?page=1
RewriteRule ^info$ /index.php?page=2
......
|
причем в их файле .htaccess такого нагромождения нет. | |
|
|
|
|
|
|
|
для: AlexSol
(04.01.2007 в 15:55)
| | >а можно ли хранить (точнее как это организовать) набор правил в отдельном файле?
Не очень ясна суть. Зачем нужно хранить в отдельном файле? И что с этим файлом нужно потом делать?
>например в modx (http://modx.ru/) присоздание страницы есть возможность задать ей псевдоним, тоесть получаеся примерно так:
>причем в их файле .htaccess такого нагромождения нет.
А что есть вместо этого?
Если не используется mod_rewrite, то преобразования могут осуществляться и через PHP. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(04.01.2007 в 21:32)
| | да, там наверно преобразование идет посредством php.
идея такая: идет не преобразование url а подмена через псевдонимы страниц. тоесть есть много-много разных страниц, которые открываются по
www.site.ru/index.php?id=[число]
в тоже время можно обративившись по www.site.ru/page_info.html получить скажем страницу www.site.ru/index.php?id=12, а по www.site.ru/sampl.html страницу www.site.ru/index.php?id=8. для таких целей использовать .htaccess наверно неправильно...
вопрос как организовать такое, если можно то на небоьлшом примере пожалуйста.
прикрепляю индексный файл и .htaccess для modX | |
|
|
|
|
|
|
|
для: AlexSol
(04.01.2007 в 22:00)
| | >да, там наверно преобразование идет посредством php.
Да, вот директива, которая все URL-ы перенаправляет на index.php
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
|
А уже в index.php происходит разбор переданных параметров.
>Для таких целей использовать .htaccess наверно неправильно...
Ну почему, все нормально. Но если у Вас все равно вся обработка идет через один файл index.php, то логично использовать его и для преобразования.
>вопрос как организовать такое, если можно то на небоьлшом примере пожалуйста.
В index.php Вы отслеживаете значения переданных параметров (переменной $_SERVER["QUERY_STRING"]) и подставляете нужную страницу. Вариантов как конкретно это организовать может быть множество... | |
|
|
|