0

웹 사이트를 MVC 프레임 워크로 재구성 중이며 루트 디렉토리에서 루트 디렉토리를 체계적인 파일 구조로 이동하는 과정에 있습니다. 이제 domian.org/homeloans.php를 방문하는 대신 사용자는 domain.org/loans/homeloans를해야합니다. 다음은 웹 사이트 트래픽을 유도하는 데 사용하는 .htaccess 파일입니다.PHP MVC & .htaccess 301 리디렉션

Redirect 301 /homeloans.php https://domain.org/loans/homeloans 

을에 재 작성 엔진을 켠 후 :

RewriteEngine on 
DirectorySlash on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA] 

이 추가로 간단해야하지? 그러나 이렇게하면 주소 표시 줄에 404와 함께 표시됩니다. https://domain.org/loans/homeloans?rt=homeloans.php

알려주세요.

+0

글쎄요 ... 'homeloans.php'가 될 캡처 그룹의 값으로'? rt '를 설정하고 있습니다. 당신의 재 작성은'index.php'이어야하고 PHP 측에서 접근 할 리소스를 찾아야합니다. – prodigitalson

+0

위의 코드에서 Redirect를 "Recirect"로 잘못 입력했습니다. 이 오타가 .htaccess 파일이나이 페이지의 여기에 나타 납니까? – Bobulous

+0

@Arkanon 문제가 해결되었습니다. – Neve12ende12

답변

0

문제는 다시 작성하지 않고 새 MVC 사이트에서이 URL을 처리 할 수있는 능력이있는 것으로 보입니다. 처리 할 수있는 것 같습니다 :

/loans/homeloans 

하지만

/loans/homeloans?rt=homeloans.php 

에 접근하지를 모두 직접; 후자가 작동하지 않지만 전자가 작동하지 않으면 MVC 애플리케이션의 라우팅 구성에 문제가 있다는 것을 알고 있습니다.

+0

? rt는 라우터에 어떤 컨트롤러와 액션을 호출 할지를 알려주기 때문에 Loan Conrtoller와 homeloans 메소드를 호출해야합니다./loans/homeloans? rt = loans/homeloans does – Neve12ende12

+0

그럴 경우, 필자가 궁금해하는 .php 때문입니다. 요청이 MVC 응용 프로그램 대신 PHP에 의해 처리 중입니다. 웹 서버 구성 ... –