powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
18 сообщений из 43, страница 2 из 2
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37867879
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоило то сначала почитать, а потом делать, а не наоброт)
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37867902
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettСтоило то сначала почитать, а потом делать, а не наоброт)

Я читал, сколько можно читать, да на грабли наступил, практика она такая, может подколоть!
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37869768
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как насчет старой доброй фишки с PATH_INFO?!
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870239
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем в итоге я пришел к тому что сработало у меня такое правило:

Код: sql
1.
2.
3.
4.
5.
6.
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ index.php?cat=$1&article=$2 [L,QSA]




но вопрос теперь в другом, а как убрать &article=$2 ?

Объясняю почему, у меня такой скрипт:


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
if (isset($_GET['cat']) and isset($_GET['article']))
{

	echo "categories with articles";

}
elseif (isset($_GET['cat']) and !isset($_GET['article']) or empty($_GET['article']))
{

	echo "it's Only categories";

}
else
{

	echo "main.page";

}



казалось бы убрать &article=$2 легко, вот такое правило примерно выходит:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ index.php?cat=$1&article=$2 [L,QSA]

RewriteRule ^([^/]*)$ index.php?cat=$1 [L]



но теперь когда я открываю главную страницу, я вижу только


авторit's Only categories



т.е. правило в буквальном смысле сбивает мне главную страницу, как этого избежать?
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870250
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну конеш, вы все запросы перенаправляете на index.php?cat=$1

Не хотите вы слушать советов.
Я ранее порекомендовал использовать код:

Код: plaintext
1.
2.
3.
4.
5.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.jpg|\.jpeg|\.png|\.css|\.js|\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php

Ловите $_SERVER['REQUEST_URI'], смотрите что там и далее делаете уже что нужно.
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870252
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо пишите внятные правила, типа

Код: php
1.
RewriteRule ^cat/([0-9]+)$ index.php?cat=$1 [L]
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870269
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

допустим у меня на странице ссылка вида:

Код: html
1.
<a href='php'>php</a>



все, больше ничего, если я по ней кликну, в адресной строке браузера должно появиться http://mysite.loc/php и ничего лишнего, но на самом деле в .htaccess прописано внятное правило :

Код: sql
1.
RewriteRule ^cat/([0-9]+)$ index.php?cat=$1 [L]



, в итоге которого я должен получить тот самый заветный $_GET['cat'], увы чего не происходит.

п.с. внятное правило немного непонятно мне в силу того что там вообще цифры делают?
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870282
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это пример, чтобы показывать так:

cat/10
ну если нужно cat/php то и заменить цифры на буквы.
А так, чисто логически вы сами как думаетЕ, если вы все запросы перенаправляете на категории, то как вы будете другие страницы показывать?
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870304
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettвсе запросы перенаправляете на категории

я ни все переправляю, только хочу скрытый $_GET['cat'] получить, в общем очень это все сложно так на пальцах, создал архивчик, совсем простой для примера, я думаю там понятно будет что к чему, test.loc

там одно из правил срабатывает, а другое нет.
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870306
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и откуда ему знать, категория это или какая-то другая ссылка?
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870310
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettНу и откуда ему знать, категория это или какая-то другая ссылка?

Код: php
1.
elseif (isset($_GET['cat']) and !isset($_GET['article']))



вот отсюда хотя бы. Ну статью он же как-то открывает (нормально обрабатывает).
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870314
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870320
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett


хорошо хоть так, некоторые бы тут уже censored опрелюдовали, ты самый терпеливый Hett, спасибо тебе.
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870321
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stasonixв общем в итоге я пришел к тому что сработало у меня такое правило:

+
Код: sql
1.
2.
3.
4.
5.
6.
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ index.php?cat=$1&article=$2 [L,QSA]




но вопрос теперь в другом, а как убрать &article=$2 ?

Объясняю почему, у меня такой скрипт:


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
if (isset($_GET['cat']) and isset($_GET['article']))
{

	echo "categories with articles";

}
elseif (isset($_GET['cat']) and !isset($_GET['article']) or empty($_GET['article']))
{

	echo "it's Only categories";

}
else
{

	echo "main.page";

}


казалось бы убрать &article=$2 легко, вот такое правило примерно выходит:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ index.php?cat=$1&article=$2 [L,QSA]

RewriteRule ^([^/]*)$ index.php?cat=$1 [L]


но теперь когда я открываю главную страницу, я вижу только
авторit's Only categories
т.е. правило в буквальном смысле сбивает мне главную страницу, как этого избежать?

elseif (isset($_GET['cat']) and (!isset($_GET['article']) or empty($_GET['article'])))
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870325
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phpz, да ни в этом суть, надеюсь мой архив не сложно скачать.
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870326
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще попахивает глобальными переменными (наверно упустил я это).
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37870327
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasonixА вообще попахивает глобальными переменными (наверно упустил я это).

хотя... нет, с этим ничего толкового в голову ни лезет.
...
Рейтинг: 0 / 0
Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
    #37921268
Фотография Stasonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочу создавать новую, как добавить сюда третий параметр?

Код: sql
1.
2.
3.
4.
5.
6.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*).html$ /?cat=$1 [L]
RewriteRule ^([a-zA-Z]*)/([a-zA-Z]*)\.html$ /?cat=$1&page=$2 [QSA,L]



в общем надо чтобы это осталось, но прибавился еще третий параметр "art"

Код: sql
1.
RewriteRule ^([a-zA-Z]*)/([a-zA-Z]*)/([a-zA-z]*)\.html$ /?cat=$1&page=$2&art=$3 [QSA,L]



Так правильно?
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]