Изменение URL с изменением адреса страницы

Scout

Новичок
Изменение URL с изменением адреса страницы

Есть ссылка -

PHP:
<a href = '/<? echo $cat;?>/<? $st_b = $bgun + $post_by_str;  echo $st_b;?>/'>
Такой вариант ссылки некорректно работает на базовом урл.
Пример -
На урл http://wwc.ru эта ссылка выглядит так -

http://13/

А на урл http://wwc.ru/что-то/ ссылка выглядит как -
http://wwc.ru/что-то/13/ - т.е. корректно.


Вопрос. Я знаю, что через предикт, исходя из определённого УРЛ можно менять ссылку. К примеру, дословно -

Предположим есть урл - wwc.ru
Я хотел бы, чтобы на урл - www.wwc.ru и wwc.ru - указывалась ссылка номер один. А если урл будет www.wwc.ru/что-то/ или wwc.ru/что-то/ - вместо ссылки номер один, указывалась ссылка ссылка два. На том же самом месте.


Как будет выглядеть код?
Спасибо! В пхп я только учусь, поэтому прошу ногами не бить.
:)
 

Фанат

oncle terrible
Команда форума
Scout
когда задаешь вопрос на форуме, лучше обходиться без кода, своими словами.
и что такое "предикт"?
 

Scout

Новичок
Фанат

Предикат. :) Мне сказали, что именно через предикат это делается, но как именно - не знаю.

Словами всё - описал ниже кода. :) Вот.
Помоги пожалуйста Фанат! Я уже запутался совсем.
 

Фанат

oncle terrible
Команда форума
Scout
прости, но ни в HTML, ни в PHP нет такого термина.
Расскажи не что ты делаешь, а зачем.
может быть - тогда станет ясно.

Помогут тебе обязательно. Только ты объясни толком.
 

Scout

Новичок
На всякий случай опишу ещё раз.
Есть сайт. На сайте, в определённом месте есть ссылка вида -

PHP:
<a href=/0/13/>ссылка</a>
Когда я захожу на сайт с базового урл, т.е. www.url.ru
- При нажатии на этот линк я иду на - http://0/13/

Когда я захожу на сайт с урл каталога, т.е. www.url.ru/cat/
- При нажатии на этот линк я получаю - http://www.url.ru/0/13/ - что мне и требуется.


Так вот. Нужен пхп код, который бы исходя из адреса, на котором присутствует пользователь - отдавал первую или вторую ссылку.
 

Нечто

Психолог РНРClub
Scout
а не проще везде давать абсолютные ссылки (с доменом)?
 

Profic

just Profic (PHP5 BetaTeam)
[telepat mode on]
[m]language.control-structures#control-structures.if[/m]?
[/telepat mode off]
 

Scout

Новичок
Нечто

Тут дело немного в другом. Я хочу, чтобы на главной странице(url.ru и www.url.ru), с помощью пхп отдавался такой урл

PHP:
<a href=http:/wwc.ru/0/13/>ссылка</a>
А на всех остальных (http://url.ru/всё_что_душе_угодно)/ и http://www.url.ru/всё_что_душе_угодно/) отдавалась ссылка по шаблону -

PHP:
<a href = '/<? echo $cat;?>/<? $st_b = $bgun + $post_by_str;  echo $st_b;?>/'>

Как я могу это сделать? Объясни пожалуйста!
 

Scout

Новичок
Господи.. как хреново только начинать учить этот пхп.
Ведь не объяснишь что надо! :(
 

Фанат

oncle terrible
Команда форума
я сдаюсь.
не понимаю ни смысла этих хитрых манипуляций, ни проблемы, ни кода.

-~{}~ 11.01.05 21:54:

как хреново только начинать учить этот пхп
проблема-то тут СОВСЕМ не в пхп.
А в каких-то странных желаниях.

-~{}~ 11.01.05 21:56:

Scout
пиши здесь.
одна голова хорошо, а форум - лучше.

в чем проблема-то? чтобы на первой странице отдавалось без ввв?

почему у тебя шаблон начинается с / если после него идет имя хоста?
Зачем тебе ВООБЩЕ имя хоста в ссылках?
что у тебя в переменной $cat?

Ты в состоянии ответить на эти вопросы?
Не на один, а на все?
 

Profic

just Profic (PHP5 BetaTeam)
Так, похоже протелепал почти правильно :)
[m]dirname[/m]() применительно к $_SERVER['PHP_SELF'] или $SERVER['REQUESTED_URL'] (или как оно там - точно смотреть в [m]phpinfo[/m]()) + PHP FAQ: Различие между абсолютными и относительными путями. В файловой системе и на сайте. (для профилактики :)) + "/"
ну и ссылка в первом моем посте.
 

Нечто

Психолог РНРClub
<a href = 'http://<?=$_SERVER['HTTP_HOST']?>/<? echo $cat;?>/<? $st_b = $bgun + $post_by_str; echo $st_b;?>/'>
 

Scout

Новичок
Лучше всех навёл Профик!
Ему поклон за то, что понял ошибку в объяснении и всё же тыркнул носом туда, куда нужно!

Всем остальным также - спасибо.
Итак. Окончательный вопрос -

PHP:
<?
if ($cat < 1)
{
echo "http://wwc.ru/0/13/";        
} else {
echo "<a href = 'http://wwc.ru/<? echo $cat;?>/<? $st_b = $bgun + $post_by_str;  echo $st_b;?>/'>";
?>
}
Правильно выглядит?
 

Нечто

Психолог РНРClub
Аааа!.. Да уж. Добротный телепат-мод.
Scout, у тебя else без закрывающей скобки.
 

Scout

Новичок
Со скобкой понятно - это я здесь промахнулся.
Но почему, когда $cat больше 1, он мне даёт ссылку -

PHP:
http://wwc.ru/<? echo 11;?>/<?  = 0 + 13;  echo ;?>
Значит что-то не правильно. :(
 

SelenIT

IT-лунатик :)
А зачем echo в обычной строке? Которая к тому же выводится таким же echo?
 

Нечто

Психолог РНРClub
ой мама я такого не увидел стыд и позор мне
убери все echo нафиг из общего echo
 
Сверху