18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
1 | |
RewriteRule передаёт только последнее значение06.12.2012, 19:08. Показов 1399. Ответов 9
Добрый день. Вот RewriteRule:
Код
RewriteRule ^(.*)\/(.*)\/(.*)$ pages\/$1?s1=$2&s2=$3 [QSA,L] - если я обращаюсь так: site.com/section/auto/, то оно включает страницу section.php из папки pages и в s1 передаёт auto. - если же обращаюсь так: site.com/section/auto/name/, то оно всё равно включает страницу section.php, но при этом s1 = name, а $1 = section/auto/, при этом для меня остаётся загадкой, как при section/auto/ оно берёт страницу именно section.php. Как быть? Добавлено через 3 минуты Разве что делать так: Код
RewriteRule ^section\/(.*)\/(.*)/$ pages\/section.php?s1=$1&s2=$2 [QSA,L]
0
|
06.12.2012, 19:08 | |
Ответы с готовыми решениями:
9
Добавляет только последнее значение Считает только последнее значение Цикл for выводит только последнее значение В файл записывается только последнее значение |
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
06.12.2012, 19:22 | 2 |
Вы запросили site.com/section/auto/name/
Правило: RewriteRule ^(.*)/(.*)/(.*)$ .* старается съесть как можно больше. Сначала первая .* жрет всю строку section/auto/name/ . Затем, чтобы дальше стало "/", ей приходится откатываться назад: $1 = "section/auto/name" и далее / . Затем синяя .* совпадает с пустотой. Но далее снова должно быть /, поэтому снова откат: section/auto , / , name , / и последняя пустая. Совпадение удалось. Не важно, что описанный результат отличается от Вашего. Суть в другом: пишите выражения точнее, чтобы они совпадали только с тем, что действительно нужно, а не со всем подряд. Используйте [^/] вместо точки. Между слешами правда может быть и пустота? Нет - используйте + вместо * . Код
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ pages/$1?s1=$2&s2=$3 [QSA,L]
1
|
18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
06.12.2012, 23:58 [ТС] | 3 |
Теперь 404. Не подходит.
0
|
18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
07.12.2012, 17:32 [ТС] | 5 |
Да, теперь при обращении по адресу
Код
http://127.0.0.1/rabota/adv/section/auto/firma/ Код
http://127.0.0.1/rabota/adv/section/auto/ Код
http://127.0.0.1/rabota/adv/section/
0
|
18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
09.12.2012, 12:45 [ТС] | 6 |
Ап ап
0
|
18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
10.12.2012, 19:26 [ТС] | 8 |
Так /pages/ это аналогично 127.0.0.1/pages/, а мне надо 127.0.0.1/rabota/adv/pages/
0
|
18 / 8 / 2
Регистрация: 06.06.2011
Сообщений: 268
|
|
16.12.2012, 00:31 [ТС] | 10 |
Всё равно получаю 404, когда делаю на одну подкатегорию меньше:
Код
http://127.0.0.1/rabota/adv/section/auto/ Код
http://127.0.0.1/rabota/adv/section/auto/2/
0
|
16.12.2012, 00:31 | |
16.12.2012, 00:31 | |
Помогаю со студенческими работами здесь
10
Цикл for. Вывести в консоль только последнее значение Из двух столбцов в файл записывается только последнее значение Почему не работает цикл (выводится только последнее значение)? $_POST не передает символы, только числа QtSerialPort передает только первый байт? RewriteCond влияет толко для один, следушчи RewriteRule. можно как-то превишать количество RewriteRule Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |