私のウェブサイトに言語切り替え機能があります。ただし、ベースURLにリダイレクトされます。Codeigniterで言語を切り替えると、同じページにリダイレクトされます
しかし、redirect($_SERVER["HTTP_REFERER"]);
と書くと正しくリダイレクトされません。ホームページで新しい言語を変更するときは、同じURLにとどまり、ウェブサイトの言語を変更するだけです。
この問題を解決するにはどうすればよいですか?ここで
は私のコントローラである。また、私はこれを試してみました
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class LanguageSwitcher extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
function switchLang($language = "") {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
}
、それは私のために動作しませんでした:
function switchLang($language = "") {
if($this->uri->uri_string() == '') {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
} else {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect($_SERVER["HTTP_REFERER"]);
}
}
uはhttps://stackoverflow.com/a/25651479/8197560を試してみましたが、https://stackoverflow.com/a/21264228/8197560 – tan