Я разрабатываю сайт на PHP и запускаю его локально на моей машине с MAMP для целей тестирования. Прямо сейчас я пытаюсь очистить URL-адреса для внутренней области (admin), чтобы получить такие URL-адреса, как:
localhost/admin/products/read/1
Это мой .htaccess
в корне:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC]
RewriteRule ^admin/products/read/([0-9]+)/?$ admin/products/read.php?id=$1 [NC]
Я также пытался это RewriteRule
, удаляя последнюю строку кода выше:
RewriteRule ^admin/(products|users|companies)/(read|update|delete)/(.*)$ /$1?id=$2 [NC,L]
Структура папок:
htdocs
- admin
- products
- read.php
- update.php
- delete.php
- index.php
- users
- ...
- companies
- ...
index.php
Chrome и Safari выдают 404, не найденных при попытке URL-адреса, такие как
localhost/admin/products/read/1
localhost/admin/products/read/1/
etc..
Вся помощь приветствуется!
Обновление 31/08/18
С помощью MrWhite я набросал это, исходя из его ответа, чтобы расширить область действия в моем файле .htaccess
:
RewriteRule ^admin/(.*)/(.*)/([0-9]+)/?$ admin/$1/$2.php?id=$3 [L]
Что заставило меня задуматься, могу ли я очистить файл конфигурации, просто проверив запрос ID
и затем переписав?