Ако потребителят следва този URL адрес:
http://localhost/events/info.php
Как мога да премахна разширението .php чрез htaccess, така че потребителят да бъде пренасочен към index.php и моя контролер за събития в информационната функция? По принцип искам да създам 301 пренасочвания.
http://localhost/events/info
Имам стари индексирани линкове, които трябва да пренасоча към функциите на контролера, така че не получавам 404s.
Отговори:
1 за отговор № 1употреба
RewriteEngine On
RewriteRule ^events/info/$ index.php [L,QSA]
0 за отговор № 2
Каква версия на CI използвате?
Обикновено вече имаме такъв без .php
http://localhost/events/info
За да преминете към index.php (в папката view): трябва само да направите така в файла на вашия контролер.
контролери / events.php
function info(){
redirect("events/index");
}
function index()
{
$this->load->view("index.php");
}
0 за отговор № 3
Може да се постигне 301 пренасочване, като се използва .htaccess
Redirect 301 events/info.php http://localhost/events/info
Може да намерите този инструмент полезни за генериране на пренасочванията.
Ако просто искате да насочите URL адреса: http://localhost/events/info.php
към info
функция във вашия events
контролер, тогава не трябва имам да премахна .php
от URL адреса можете да добавите a маршрут в application/config/routes.php
.
$route["events/info.php"] = "events/info";
Ако още не сте го направили, трябва да го премахнете index.php
, Ръководството за потребителя на CodeIgniter обяснява как се прави това.
Ако искате да премахнете .php
от всичките ви URL адреси, за да ги направят по-чисти, след това има много ресурси, включително други отговори за SO.