Как отобразить красивые URI на отдельные API с помощью .htaccess?

1

Скажем, я хочу иметь URI, например, www.domainname.com/horses/italian/www.domainname.com/cats/persian/

Соответствующие API-интерфейсы: GetHorseDetails.php GetCatDetails.php

Они расположены под /apis/fetch/.....php

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

Когда я помещаю API в корневую папку и использую RewriteRule ^ (. *) $ GetHorseDetails.php/$

Я могу сделать GET domainname.com/horses/italian/и нажать на API.

Подводя итог, 1) Мне нужно привязать параметры. 2) Мне нужно иметь возможность ударить API, используя относительные пути в.htaccess

Технически, domaninname.com/horses/italian должен нанести удар root/apis/fetch/GetHorseDetails.php

Любая помощь по этому поводу была бы высоко оценена, потому что я пытался копать много, но безрезультатно.

С уважением.

  • 1
    Возьмите хороший горячий кофе и начните здесь: sitepoint.com/apache-mod_rewrite-examples
  • 0
    Ха-ха! Благодарю. Эрвин, этот Apache 2.4 немного неловкий. Я просмотрел их документацию и потратил много времени, пытаясь понять флаги. Моя главная задача - перенаправить его в php-файл в подкаталоге. Сначала я пытался использовать псевдоним, чтобы сопоставить его с моей файловой системой. Но не удалось сопоставить URI с файлом.
Показать ещё 2 комментария
Теги:
.htaccess
mod-rewrite
uri

1 ответ

0

Никаких быстрых ответов, поэтому я решил забыть все, что я накопил, и просто экспериментировать.

Виола, это просто сработало!

RewriteRule ^ horse/italian/? $ Apis/fetch/GetHorseDetails.php [NC, L]

По-видимому, проблема была связана с относительным путем. Там нет необходимости ставить что-то вроде "./" перед именем. И нет необходимости использовать Alias для сопоставления URL-адреса в файловой системе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню