programing

코드 점화기를 사용하여 리디렉션

muds 2023. 8. 19. 10:57
반응형

코드 점화기를 사용하여 리디렉션

누가 제 리디렉션 도우미가 제가 예상한 대로 작동하지 않는 이유를 말해줄 수 있습니까?

메인 컨트롤러의 인덱스 방법으로 리디렉션하려고 하는데 시간이 걸립니다.www.example.com/index/provider1/그것이 언제 로 통해야 하는지.www.example.com/provider1이게 말이 되나요?구성에 인덱스 페이지가 공백으로 설정되어 있지만, 문제가 아니라고 생각합니다.

이 문제를 해결하는 방법에 대한 조언이 있습니까?

컨트롤러:

if($provider == '') {
    redirect('/index/provider1/', 'location');
}

.htaccess:

RewriteEngine on

RewriteCond %{REQUEST_URI} !^(index\.php|files|images|js|css|robots\.txt|favicon\.ico)

RewriteCond %{HTTP_HOST} ^example.com/ttnf/
RewriteRule (.*) http://www.example.com/ttnf/$1 [R=301,L]

RewriteBase /ttnf/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

php_flag display_errors On

리디렉션 »

URL 도우미


The redirect statement in code igniter sends the user to the specified web page using a redirect header statement.

이 문은 다음과 같은 방법으로 로드되는 URL 도우미에 있습니다.

$this->load->helper('url');

리디렉션 함수는 함수 호출의 첫 번째 매개 변수에 지정되고 구성 파일에 지정된 옵션을 사용하여 빌드된 로컬 URI를 로드합니다.

두 번째 매개 변수는 개발자가 다른 HTTP 명령을 사용하여 리디렉션 "위치" 또는 "새로 고침"을 수행할 수 있도록 합니다.

Code Igniter 설명서에 따르면: "위치가 더 빠르지만 Windows 서버에서는 때때로 문제가 될 수 있습니다."

예:

if ($user_logged_in === FALSE)
{
     redirect('/account/login', 'refresh');
}

만약 당신의 디렉토리 구조가 이렇다면,

site
  application
         controller
                folder_1
                   first_controller.php
                   second_controller.php
                folder_2
                   first_controller.php
                   second_controller.php

그리고 작업 중인 동일한 컨트롤러에서 리디렉션하려는 경우 다음 코드를 작성하면 됩니다.

 $this->load->helper('url');
    if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
    {
         redirect('same_controller/method', 'refresh');
    }

다른 컨트롤로 리디렉션하려면 다음 코드를 사용합니다.

$this->load->helper('url');
if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
{
     redirect('folder_name/any_controller_name/method', 'refresh');
}

이전 위치 또는 마지막 요청을 리디렉션하려면 다음을 포함해야 합니다.user_agent라이브러리:

$this->load->library('user_agent');

그런 다음 사용 중인 기능에 마지막으로 사용합니다.

redirect($this->agent->referrer());

그것은 나에게 효과가 있습니다.

먼저 이 유형과 같은 URL 도우미를 로드하거나 자동 로드 내에서 업로드할 수 있습니다.php 파일:

$this->load->helper('url');

if (!$user_logged_in)
{
  redirect('/account/login', 'refresh');
}

인덱스 파일을 숨기는 .htacess 파일입니다.

#RewriteEngine on
#RewriteCond $1 !^(index\.php|images|robots\.txt)
#RewriteRule ^(.*)$ /index.php/$1 [L]

<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /

        # Removes index.php from ExpressionEngine URLs
        RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
        RewriteCond %{REQUEST_URI} !/system/.* [NC]
        RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

        # Directs all EE web requests through the site index file
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

언급URL : https://stackoverflow.com/questions/723883/redirect-with-codeigniter

반응형