[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с перенаправлением в .htaccess
verhmax
Добрый день, помогите с перенаправлением.

есть скрипт user.php
нужно перенаправление чтоб при вызове страницы
stranica-polzovatelia.html скрипт отдавал user.php?name=stranica-polzovatelia



Спустя 6 минут, 11 секунд (23.01.2012 - 14:38) redreem написал(а):
RewriteRule ^stranica-polzovatelia.html(/?)+$ user.php?name=stranica-polzovatelia [QSA]

Спустя 6 минут, 36 секунд (23.01.2012 - 14:45) verhmax написал(а):
имелось ввиду что "stranica-polzovatelia" это переменная и для разных страниц она разная.
как это реализовать?

Спустя 1 минута, 41 секунда (23.01.2012 - 14:46) redreem написал(а):
перечислением всех нужных страниц.
вопрос автоматизации я уже задавал тут - никто не ответил.
сам использую подобную схему и просто прописываю все нужные страницы.

Спустя 2 минуты, 7 секунд (23.01.2012 - 14:49) neadekvat написал(а):
RewriteRule ^(.*)$ user.php?name=$1 [L,QSA]


Цитата (redreem @ 23.01.2012 - 15:46)
перечислением всех нужных страниц.
вопрос автоматизации я уже задавал тут - никто не ответил.

Не-не-не, ты чего.

Выше показал, как.

в user.php принимает $_GET['name'] и работаем с ним.

Спустя 2 минуты, 34 секунды (23.01.2012 - 14:51) redreem написал(а):
$1 заберет 1-й гет параметр, а не 1-й раздел адресной строки.

Спустя 4 минуты, 16 секунд (23.01.2012 - 14:55) redreem написал(а):
вот я тему поднимал: http://phpforum.ru/index.php?showtopic=52014&hl=htaccess

Спустя 17 секунд (23.01.2012 - 14:56) verhmax написал(а):
Цитата
RewriteRule ^(.*)$ user.php?name=$1 [L,QSA]


не получается. нету такой страницы.

я страницу вызываю
stranica_polzovatelia1.html
или
stranica_polzovatelia2.html

должно показать страницу

user.php?name=stranica-polzovatelia1
и
user.php?name=stranica-polzovatelia2

Спустя 1 минута, 22 секунды (23.01.2012 - 14:57) neadekvat написал(а):
Цитата (redreem @ 23.01.2012 - 15:51)
$1 заберет 1-й гет параметр, а не 1-й раздел адресной строки.

Щито?

Все, что будет в адресе после example.com/, попадет в $_GET['name'].

Цитата (verhmax @ 23.01.2012 - 15:56)
не получается. нету такой страницы.

Какой страницы нет?
Покажи весь .htacess и иерархию файлов (где .htaccess, где user.php).

Спустя 4 минуты, 58 секунд (23.01.2012 - 15:02) redreem написал(а):
Цитата
Щито?


ты проверял свой вариант прежде чем советовать?
вот проверь и убедись что он не работает.

Спустя 2 минуты, 42 секунды (23.01.2012 - 15:05) verhmax написал(а):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ user.php?name=$1 [L,QSA]


есть скрипт user.php который показывает юзера при параметре name (он всегда разный)
ссылки по сайту расставлены уже в виде
petrov-maksim.html
ivanov-andrey.html

вот при вызове этой страницы должен отработать скрипт с параметром user.php?name=petrov-maksim

а выводит что такой страницы нету

Спустя 4 минуты, 27 секунд (23.01.2012 - 15:09) neadekvat написал(а):
Цитата (redreem @ 23.01.2012 - 16:02)
ты проверял свой вариант прежде чем советовать?
вот проверь и убедись что он не работает.

Более того, я его взял из рабочего проекта, исправив только имя обработчика.

Цитата (verhmax @ 23.01.2012 - 16:05)
а выводит что такой страницы нету

Потому что он ищет пользователя "petrov-maksim.html". Я хоть и гениален, но всех деталей видеть не могу и додумывать за всех не собираюсь.

RewriteRule ^([\w]+).html$  user.php?name=$1

Спустя 3 минуты, 21 секунда (23.01.2012 - 15:12) redreem написал(а):
о, я под шумок и свой вопрос решил :)

RewriteRule ^([^/\.]+)/?$ index.php?modul=$1 [L]

Спустя 5 минут, 41 секунда (23.01.2012 - 15:18) verhmax написал(а):
neadekvat
прописал
RewriteRule ^([\w]+).html$ user.php?name=$1 [L,QSA]

и всёравно при вызове страницы petrov-maksim.html
пишет 404 sad.gif

Спустя 1 минута, 57 секунд (23.01.2012 - 15:20) neadekvat написал(а):
Цитата (verhmax @ 23.01.2012 - 16:18)
и всёравно при вызове страницы petrov-maksim.html
пишет 404

Ты не ответил на вопрос про иерархию.

Судя по ответу redreem, он убедился, что вариант рабочий.

Спустя 2 минуты, 1 секунда (23.01.2012 - 15:22) killer8080 написал(а):
Цитата (verhmax @ 23.01.2012 - 14:05)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ user.php?name=$1 [L,QSA]

Это что? blink.gif

Спустя 2 минуты, 5 секунд (23.01.2012 - 15:24) verhmax написал(а):
я не могу понять что именно ещё нужно показать?

Спустя 3 минуты, 52 секунды (23.01.2012 - 15:28) neadekvat написал(а):
Цитата (verhmax @ 23.01.2012 - 16:24)
я не могу понять что именно ещё нужно показать?

Скажи, что "В каталоге с именем SomeCat находятся файлы .htaccess и user.php", но только так, чтобы это соответствовало действительности (опиши, как у тебя).

Спустя 46 секунд (23.01.2012 - 15:29) redreem написал(а):
так вот попробуй

RewriteRule ^([^/\.]+)/?$ user.php?name=$1 [L]


а вообще вот тут я для себя решение нашел: http://htmlweb.ru/php/htaccess.php

покажи вид адресной строки, которая должна преобразоваться, например:

http://site.ru/user/petrov-maksim.html или еще как у тебя там?

Спустя 1 минута, 46 секунд (23.01.2012 - 15:31) killer8080 написал(а):
verhmax
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
это канонизация, условие для редиректа, если юзер зашел без www префикса. После него должно быть правило внешнего редиректа. Где ты его потерял?
И за чем вписал
RewriteRule ^(.*)$ user.php?name=$1 [L,QSA]

после этого условия?

Спустя 5 минут, 52 секунды (23.01.2012 - 15:36) verhmax написал(а):
иерархия у меня: все файлы в корневой папке
структура вот такая www.site.ru/user.php?name=ivanov
должно показывать
_www.site.ru/ivanov.html

Спустя 17 минут, 1 секунда (23.01.2012 - 15:53) killer8080 написал(а):
verhmax
еще раз вопрос - зачем ставил перед правилом условие?
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

Это значит что правило будет работать только при заходе через www.
Почитай про канонизацию урл
По твоей задаче ответ
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.html$ user.php?name=$1 [L,QSA]

Спустя 11 минут, 6 секунд (23.01.2012 - 16:05) verhmax написал(а):
Цитата
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.html$ user.php?name=$1 [L,QSA]


ура, с таким примером заработало smile.gif
Спасибо огромное smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.