Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Получить переменные из url адреса нетипичным образом
Форумы портала PHP.SU » » Вопросы новичков » Получить переменные из url адреса нетипичным образом

Страниц (3): [1] 2 3 »
 

1. Heavenanvil - 11 Февраля, 2017 - 08:44:13 - перейти к сообщению
Здравствуйте.
Возникла следующая проблема, пока не знаю как решить.

Есть ссылка вида:
mysite.ru/index.php?category=mycategory&subcategory=mysubcategory
допустим она через _GET обрабатывается корректно.
Я получаю _GET['category'] и _GET['subcategory'], чтобы в дальнейшем их использовать на странице.

Но мне нужно сделать ссылку немного другого вида:
mysite.ru/category/subcategory

Допустим я такую ссылку сформировал, но как мне её обработать через _GET, чтобы получить category и subcategory?
2. teleoperator27 - 11 Февраля, 2017 - 10:05:56 - перейти к сообщению
Внешний вид ссылки есть, вопрос, каким образом сформирована? Через .htaccess? Тогда так же и получать через GET['category'] и _GET['subcategory']. Вообще просто надо распечатать
и посмотреть, что в массиве на этой странице
3. Heavenanvil - 11 Февраля, 2017 - 10:18:12 - перейти к сообщению
teleoperator27, нет. Ссылка сформирована через php примерно вот таким образом.
mysite.ru/$var1/$var2
Соответственно выдает 404.

.htaccess не использовал.
4. Строитель - 11 Февраля, 2017 - 13:01:17 - перейти к сообщению
Heavenanvil, в .htaccess пропишите
Спойлер (Отобразить)
Все запросы будут перенаправлены на index.php
А принимать параметры будете в $_SERVER['REQUEST_URI'] .
5. teleoperator27 - 11 Февраля, 2017 - 13:12:52 - перейти к сообщению
Перенаправляй через .htaccess

CODE (htmlphp):
скопировать код в буфер обмена
  1. DirectoryIndex index.php
  2. RewriteEngine On
  3. RewriteRule ^([^/]*)/([^/]*)$ index.php?category=$1&subcategory=$2 [L]

и все данные бери из GET как и брал
6. Heavenanvil - 11 Февраля, 2017 - 14:17:32 - перейти к сообщению
Строитель, все запросы? А если для других php-файлов, мне нужны обычные запросы?
Это должно касаться только файла index.php

update
teleoperator27, ваш способ помог. Спасибо!
7. Heavenanvil - 12 Февраля, 2017 - 07:43:38 - перейти к сообщению
teleoperator27, на одном хостинге нормально, на другом, когда добавляю правило RewriteRule у меня теряется вся вёрстка. Как будто css файла не существует. С чем это может быть связано?
8. teleoperator27 - 12 Февраля, 2017 - 08:08:39 - перейти к сообщению
смотрите права на папки, правильно ли пути прописаны. css-файлы должны открываться в браузере по прямому пути. типа site.ru/css/style.css В данном случае содержимое этого .htaccess никак не влияет
9. Heavenanvil - 12 Февраля, 2017 - 08:30:09 - перейти к сообщению
Косяк вылазит только когда включаю это правило.
Другие правила работают нормально вроде.
Пробовал все остальные правила отключать.
На папки права выставлены по умолчанию, но без правила все было ок с оформлением.

Странно, что на одном хостинге работает замечательно, а на другом с косяком.
10. teleoperator27 - 12 Февраля, 2017 - 09:01:27 - перейти к сообщению
а какой путь до файла стилей?
11. Heavenanvil - 12 Февраля, 2017 - 10:45:16 - перейти к сообщению
teleoperator27, путь site.ru/css/style.css
12. teleoperator27 - 12 Февраля, 2017 - 11:11:56 - перейти к сообщению
попробуй так

CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteBase /
  3. RewriteCond $1 !^(index\.php|css/.*|js/.*|img/*)
  4. RewriteRule ^([^/]*)/([^/]*)$ index.php?category=$1&subcategory=$2 [L]



css js img это папки со стилями, картинками и js
13. Heavenanvil - 12 Февраля, 2017 - 11:19:45 - перейти к сообщению
teleoperator27, не помогло.
Причём странно то, что даже если я использую вместо index.php файл category.php (к примеру) и прописываю соответствующие правила в .htaccess, то при открытии index.php всё равно вёрстка слетает. А без правила всё ок. Что за мистика?
14. teleoperator27 - 12 Февраля, 2017 - 11:49:40 - перейти к сообщению
стили не по показывают, а код php обрабатывается? Проблема только в стилях?
15. Heavenanvil - 12 Февраля, 2017 - 12:06:56 - перейти к сообщению
teleoperator27, да, php код успешно обрабатывается и никаких ошибок не выдаёт.
Проблема только в том, что сайт отображается без оформления. Так, будто css файла не существует. Хотя он есть и если проинспектировать исходный код, то там все пути правильно прописываются.

Опачки, сейчас заметил, что при попытке открыть напрямую css файл в браузере, меня кидает на файл category.php, и соответственно css файл я открыть не могу.
Такая же беда и с js файлами.

 

Powered by ExBB FM 1.0 RC1