코드 점화기를 사용하여 리디렉션
누가 제 리디렉션 도우미가 제가 예상한 대로 작동하지 않는 이유를 말해줄 수 있습니까?
메인 컨트롤러의 인덱스 방법으로 리디렉션하려고 하는데 시간이 걸립니다.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
'programing' 카테고리의 다른 글
스포츠 경기 시간 결과 포맷팅을 SQL로 처리하는 방법, 가급적이면 Maria.DB (0) | 2023.08.19 |
---|---|
정적 방법으로 스프링 빈에 액세스 (0) | 2023.08.19 |
C# MVC 컨트롤러가 Ajax POST 요청에서 십진수 또는 이중 값을 가져올 수 없습니다. (0) | 2023.08.19 |
Spring Entity Manager와 Spring Data Repository의 차이점은 무엇입니까? (0) | 2023.08.19 |
registerGlobal(), configure(), configureGlobal(), configureGlobal(), configureGlobal Security in Spring security 간의 차이 (0) | 2023.08.19 |