/ / Codeigniter Премахване .php и маршрут към index.php [дубликат] - php, .htaccess, codeigniter

Codeigniter Премахване на .php и маршрут към index.php [duplicate] - php, .htaccess, codeigniter

Ако потребителят следва този 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.