htaccess Помогите пожалуйста.

dima4321

Новичок
Код:
PHP:
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 


RewriteRule ^cd/(.*)$ about.php?band=$1 [L]  
RewriteRule ^history/(.*)$ abouthistory.php?band=$1 [L] 
RewriteRule ^genre/(.*)$ aboutgenre.php?genre=$1 [L]


В итоге с главной страницы я могу корректно перейти по всем трем ссылкам такого вида.Т.е. скрипт передает другим скриптам все четко.


<td><a href='cd/$row[1]'>$row[1]</a></td>

<td><a href='genre/$row[2]'>$row[2]</a></td>

<td><a href='history/$row[1]'>About $row[1]</a></td>";

Но далее на тех же скриптам у меня стоит перелинковка между всем тремя скриптами.
и в итоге в адресной строке я могу получить вот это

уходя с этого урла
2/cd/BRAVO

на этот
2/history/BRAVO


в итоге попадаю на 2/cd/history/BRAVO

или при выборе жанра я стою на корректной слыыке 2/history/abba и должен бы перейти

на

2/genre/POP

в итоге имею

2/cd/genre/POP


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

вообще можно получать некорректные чумовые улры

типа такого

/cd/genre/history/history/
 

tz-lom

Продвинутый новичок
вообще есть такие понятия как абсолютные и относительные пути , они вам что нибудь говорят?
 

tz-lom

Продвинутый новичок
dima4321
мда,отличная комбинация лени и тупости
проверь как выглядят ссылки
<a href="b"></a>
<a href="/b"></a>

на страницах

sitename.ru и sitename/a/

может хоть так что то дойдёт
 

dima4321

Новичок
наверно я тупой напрочь пришлось съесть шоколадку и выпить кофе )) Вроде получилось


Итого сайт имеем не в в основном каталоге а в паке 33.

PHP:
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 


RewriteRule ^cd/(.*)$ cd.php?band=$1 [L]  
RewriteRule ^history/(.*)$ abouthistory.php?band=$1 [L] 
RewriteRule ^genre/(.*)$ aboutgenre.php?genre=$1 [L]
в index.php

PHP:
<td><a href='cd/$row[1]'> $row[1]</a></td>

  <td><a href='genre/$row[2]'>$row[2]</a></td>
 
  <td><a href='history/$row[1]'>About $row[1]</a></td>";
а вот в других скриптах надо было взять уже не относительный путь

aboutgenre.php

PHP:
<td><a href='/33/cd/$row[1]'>$row[1]</a></td>
 

  <td><a href='/33/history/$row[1]'>ABOUT $row[1]</a></td>";
abouthistory.php
PHP:
echo "<td><a href='/33/cd/$row[1]'>CD's $row[1]</a></td>";
  
  echo "<td><a href='/33/genre/$row[2]'>$row[2]</a></td>";
и т.п. Надеюсь я правильно тебя понял tz-lom

Прокомментируй ! ))
 

tz-lom

Продвинутый новичок
это я и имел ввиду
на будущее - лучше использовать глобальные пути везде,а относительные только для красивых хаков когда есть чёткое представление почему делается именно так
 

dima4321

Новичок
объясни пожалуйста на примере ссылки , что есть глобальный путь ??))
И что такое относительный для красивых хаков . Кстати и что такое хаки ??

Обратил внимание. Что можно использовать такие конструкции

в index.php

PHP:
<td><a href='./cd/$row[1]'> $row[1]</a></td>
а в aboutgenre.php

PHP:
[PHP] <td><a href='../cd/$row[1]'>$row[1]</a></td>
[/PHP]
 

dima4321

Новичок
tz-lom

Хотел выразить огромную благодарность. Вчера было просвещение и все благодаря тебе.
Полученные знания применяю каждый час теперь !
 
Сверху