Мне нужно несколько свежих глаз на это. Мне трудно определить проблему.
В папке X у меня есть файл .htaccess со следующими двумя строками:
RewriteEngine on RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [NC,L]
Моя интерпретация заключается в том, что все, что находится в этом каталоге, будет затем перенаправлено на страницу отображения предметов. Проблема заключается в том, что на странице отображения элемента отображается значение двунаправленных выводов «display-item». Так или иначе я перенаправляю из: http://localhost/test/cat/item/14056a до: http://localhost/test/cat/item/item-display.php?bibid=item-display
Есть идеи?
Приветствия
Вы должны исключить файл, на который вы перенаправляете, так как он также соответствует шаблону:
RewriteCond %{REQUEST_URI} !/item-display\.php$ RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L]
Запрос подвергается дополнительной обработке, поэтому он извлекает часть имени файла переписанного URL, которую я предполагаю. Попробуйте добавить флаг NS.
Попробуйте это
RewriteEngine on RewritePath /test/cat/item RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L]
Мне кажется, проблема в том, что он просматривает весь URL, а не только последнюю часть идентификатора элемента.