Помогите с mod_rewrite

123 4
Лунный Кот
На сайте с 27.01.2006
Offline
222
1324

Есть сайтик, страницы которого видны как по адресу site.ru/23/, так и по site.ru/?id=23

Не получилось корректно запретить второй вариант (чтоб выдавало 404). Кто подскажет? :)

Вы мне свои достижения жизненные продемонстируйте, пожалуйста, я, возможно, возьму свои слова обратно и извинюсь прилюдно. Только думается мне, что вы банальный лась. (с) Mirson
[umka]
На сайте с 25.05.2008
Offline
456
#1

RewriteEngine On

RewriteRule ^([0-9]+)/$ /index.php?id=$1 [L]

по поводу второго варианта — не понял

его запретить или всё же "как по ..., так и по ..." ?

Лог в помощь!
Лунный Кот
На сайте с 27.01.2006
Offline
222
#2
'[umka:
;6480011']RewriteEngine On
RewriteRule ^([0-9]+)/$ /index.php?id=$1 [L]

Вопрос не про это, а как выдавать ошибку при вводе адреса site.ru/?id=23, когда сайт УЖЕ И ТАК виден под обоими адресами. Неужели нельзя прочитать то, что написано...

[umka]
На сайте с 25.05.2008
Offline
456
#3
Лунный Кот:
Вопрос не про это, а как выдавать ошибку при вводе адреса site.ru/?id=23, когда сайт УЖЕ И ТАК виден под обоими адресами. Неужели нельзя прочитать то, что написано...

RewriteCond %{THE_REQUEST} "GET /?id=[0-9]+"

RewriteRule . - [F]

Mihajlo
На сайте с 30.10.2006
Offline
156
#4

в скрипте анализируйте $_SERVER['REQUEST_URI'], и в случае совпадения с искомым отдавать header'ом 404-ю

[umka]
На сайте с 25.05.2008
Offline
456
#5
Mihajlo:
в скрипте анализируйте $_SERVER['REQUEST_URI'], и в случае совпадения с искомым отдавать header'ом 404-ю

Так для сервера больше телодвижений.

Лунный Кот
На сайте с 27.01.2006
Offline
222
#6
'[umka:
;6480092']RewriteCond %{THE_REQUEST} "GET /?id=[0-9]+"
RewriteRule . - [F]

не работает (

Mihajlo
На сайте с 30.10.2006
Offline
156
#7
'[umka:
;6480117']Так для сервера больше телодвижений.

согласен, но сама задача, поставленная ТС - как мне кажется, лишена некоторого смысла :)

вообще ,было бы правильнее отдавать не 404, а 301

[umka]
На сайте с 25.05.2008
Offline
456
#8
Лунный Кот:
не работает (

Сорри, мосх уже в отключке...

вот так точно работает — проверил:

RewriteEngine On

RewriteCond %{THE_REQUEST} "GET /\?id=[0-9]+"

RewriteRule . - [F]

Лунный Кот
На сайте с 27.01.2006
Offline
222
#9

Хорошо, 301. Я вообще-то спрашиваю не "есть ли смысл в моей задаче", а как сделать :)

Лунный Кот добавил 08.03.2010 в 01:08

'[umka:
;6480139']Сорри, мосх уже в отключке...
вот так точно работает — проверил:

RewriteEngine On
RewriteCond %{THE_REQUEST} "GET /\?id=[0-9]+"
RewriteRule . - [F]

Не пашет (( возможно, в золотых ручках админов Есервера дело...

[umka]
На сайте с 25.05.2008
Offline
456
#10
Лунный Кот:
Хорошо, 301. Я вообще-то спрашиваю не "есть ли смысл в моей задаче", а как сделать :)

Ну это же старая добрая традиция SE ... :D

— А как мне сделать?

— А вам зачем? ... Так ни кто не делает

и т.д.

[umka] добавил 08.03.2010 в 01:10

Лунный Кот:
Не пашет (( возможно, в золотых ручках админов Есервера дело...

А вообще mod_rewrite работает?

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий