Я создаю веб-сайт, который работает с API для получения всей отображаемой информации.
Я использую следующее правило перезаписи в моем файле .htaccess
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteRule ^(.*)$ user.php/$1
Чтобы URL-адрес, похожий на http://domainname.com/user/username, не попадал в 404 и вместо этого вызовите файл пользователя. php, чтобы я мог затем захватить последнюю часть URL-адреса, извлечь его в API и отобразить результаты.
Это работает нормально. Однако теперь мне нужно сделать то же самое для другого типа URL, который выглядит как http://domainname.com/collection/collectionname, поэтому я попробовал это:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteRule ^(.*)$ user.php/$1
RewriteRule ^(.*)$ collection.php/$1
В конце я также попробовал различные флаги из RewriteRules, таких как [C]
, [N]
и [L]
, но ни один из них, похоже, не работает, и результаты варьируются от внутренних ошибок сервера до обоих типов URL-адресов с использованием файла пользователя. php вместо каждого типа с использованием соответствующий.