mod_rewrite портит ссылки навигации по сайту - PullRequest
1 голос
/ 13 октября 2010

На моей главной странице навигационные ссылки:

  • локальный / инвентарь / добавить
  • локальный / инвентарь / вид

Код для тех:

<a href='add'>Add Record</a>
<a href='view'>View Records</a>

и мой файл .htaccess:

RewriteEngine on
RewriteRule ^([^/\.]+)/?$ ./index.php?url=$1 [L]
RewriteRule ^([^/\.]+)/?/([^/\.]+)/?$ ./index.php?url=$1&id=$2 [L]

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

  • локальный / инвентарь / редактировать / 1

Для первой записи, и код для этой ссылки:

<a href='edit/1'>Edit</a>

Что хорошо, за исключением того, что теперь навигационные ссылки переносят их на:

  • локальный / инвентарь / редактировать / добавить
  • локальный / инвентарь / редактирование / просмотр

Потому что он думает, что находится в каталоге 'edit'.

Кто-нибудь знает идею преодоления этой проблемы?

Спасибо!

1 Ответ

0 голосов
/ 13 октября 2010

Это, вероятно, не потому, что .htaccess, а разница между относительными и абсолютными ссылками. То есть ваши навигационные ссылки должны иметь префикс /, например:

<a href='/inventory/add'>Add Record</a>
...