есть скрипт 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
а выводит что такой страницы нету
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
прописал
RewriteRule ^([\w]+).html$ user.php?name=$1 [L,QSA]
и всёравно при вызове страницы petrov-maksim.html
пишет 404

Спустя 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] |
Это что?

Спустя 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 написал(а):
так вот попробуй
а вообще вот тут я для себя решение нашел: http://htmlweb.ru/php/htaccess.php
покажи вид адресной строки, которая должна преобразоваться, например:
http://site.ru/user/petrov-maksim.html или еще как у тебя там?
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
структура вот такая www.site.ru/user.php?name=ivanov
должно показывать
_www.site.ru/ivanov.html
Спустя 17 минут, 1 секунда (23.01.2012 - 15:53) killer8080 написал(а):
verhmax
еще раз вопрос - зачем ставил перед правилом условие?
Это значит что правило будет работать только при заходе через www.
Почитай про канонизацию урл
По твоей задаче ответ
еще раз вопрос - зачем ставил перед правилом условие?
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] |
ура, с таким примером заработало

Спасибо огромное
