Я новичок в codeIgniter.
Я очень внимательно отношусь к URL на сайтах, которые я разрабатываю. Можно ли создать такие URL-адреса? Как правило, сайты, которые я разрабатываю, имеют встроенный интерфейс администратора, а new, edit или delete добавляются в конце URL после слеша.
Вот несколько гипотетических примеров (один с URL-адресом администратора):
страницы верхнего уровня (без косой черты)
site.com/about
site.com/contact
site.com/contact/edit
списки индексов разделов (списки имеют косую черту)
site.com/blog/
site.com/products/
site.com/products/edit
страницы разделов (списки имеют косую черту)
site.com/blog/first-post
site.com/products/best-product
site.com/products/new
site.com/products/best-product/delete
раздел категории
site.com/blog/code-questions/
site.com/products/red-products/
site.com/products/red-products/delete
Первая проблема, которую я вижу, это отправка URL с косой чертой в другой контроллер, а не без него. Поскольку вы не можете добавить их в файл маршрутизации. Например, для страниц верхнего уровня, как узнать, как вызвать контроллер страниц? как мне отличить их от списков разделов? Я не могу добавить косую черту в rout.php!
site.com/about
site.com/blog/
то же самое с страницами раздела и категориями.
Обычно я делал это в прошлом с помощью файла .htaccess.
некоторые примеры того, как я структурировал файлы htaccess для URL в прошлом в моих собственных приложениях
RewriteRule ^new$ index.php?static&new
RewriteRule ^edit$ index.php?edit
RewriteRule ^([a-z0-9\-]+)$ index.php?static&post=$1
RewriteRule ^([a-z0-9\-]+)/edit$ index.php?static&edit=$1
RewriteRule ^([a-z0-9\-]+)/$ index.php?section=$1
RewriteRule ^([a-z0-9\-]+)/new$ index.php?section=$1&new
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)$ index.php?section=$1&post=$2
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/$ index.php?section=$1&category=$2
Есть ли в любом случае сделать это с codeIgniter? Должен ли я просто переписать правила поверх сгенерированных URL-адресов контроллера? Возможно ли это сделать с помощью файла routing.php? Если codeIgniter не делает этого, не могли бы вы предложить структуру, которая может?
Также Как мне использовать дефисы в URL при привязке к имени класса контроллера?