У меня есть ниже в моем файле .htaccessПротиворечивых URL Переписывая
RewriteRule ^([A-Za-z0-9-]+)$ /j/view.php?cat=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)$ /j/display.php?name=$1 [L]
Как переписать, чтобы получить URL в http://domain.com/some-file-name
. Таким образом, браузер интерпретирует, что правило перезаписи начинается первым в строке при нажатии ссылки, поскольку URL-адреса имеют одинаковый формат.
Как исправить это, чтобы понять, какой URL-адрес интерпретировать и отображать правильно, сохраняя при этом одну и ту же структуру URL-адреса.
В настоящее время, если я перемещаю # 2 выше, он начинает интерпретировать # 2, и если я разрешаю как есть, он интерпретирует # 1. Пожалуйста, мне нужна помощь здесь.
Если нет постоянной разницы между два, вы не можете сделать это с помощью '.htaccess' в одиночку. Вы можете использовать php-страницу маршрутизатора, хотя это сделает разумный выбор. – Sumurai8
@ Sumurai8 Как работает страница маршрутизатора? Можете ли вы дать образец и объяснить далее, пожалуйста. – OmniPotens
Что вы пытаетесь сделать? Прямо сейчас обе строки переписываются с одинаковыми критериями (весь буквенно-цифровой текст). Если вы хотите, чтобы они переписывали разные URL-адреса, вам нужно либо сделать ваш REGEX более конкретным в вашем правиле перезаписи, либо добавить условие перезаписи, например. RewriteRule^view/([A-Za-z0-9 -] +) $ /j/view.php?cat=$1 – djh101