Я довольно новичок в CI и пытаюсь создать чистый URL. Я выполнил эту задачу раньше, не используя фреймворк, отредактировав файл .htaccess следующим образом.Довольно URL с CodeIgniter
RewriteCond %{REQUEST_URI} !^/(css|js|img)/
RewriteRule ^profile/([^/]*)$ profile.php?id=$1 [L]
С CI, я попытался следующие:
#Get rid of the index.php that's in the URL by default
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
# Profile page
RewriteCond %{REQUEST_URI} !^/(css|js|img)/
RewriteRule ^profile/([^/]*)$ profile?id=$1 [L]
Я знаю, что по умолчанию значение после того, как имя контроллера в URL (в данном случае контроллер Profile), будет вызывать функцию с тем же именем внутри класса контроллера. Но, если в URL-адресе, указанном после контроллера, нет значения, по умолчанию будет активирована функция индекса. Я планирую оставить имя функции пустым, чтобы по умолчанию была вызвана функция индекса. Но правило перезаписи не работает.
Любые идеи?
Просто используйте маршруты CI для обработки структуры URL-адреса профиля. –