2016-08-12 8 views
1

htaccess 파일에 문제가 있습니다. 내가 WWW를 사용하는 경우 내가 http://domain.com/jobs 같은 URL을 사용하거나
을 www.domain.com/index.php하기 위해 리디렉션 페이지를 domain.com/jobs 그러나 경우 : 루트에 그것의 리디렉션 페이지는 index.php를 예를 들어

입니다 .domain.com/jobs 페이지를 다른 페이지로 리디렉션하지 않습니다. 다음
[L] 깃발이 하나가 일치 한 후 규칙 처리를 중지 할 mod_rewrite을 알려줍니다 마지막에 대한 바로 가기 나를htaccess - 다른 페이지로 리디렉션

<IfModule mod_rewrite.c> 
     <IfModule mod_negotiation.c> 
      Options -MultiViews 
     </IfModule> 

     RewriteEngine On 

     # Redirect Trailing Slashes... 
     RewriteRule ^(.*)/$ /$1 [L,R=301] 

     # Handle Front Controller... 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule^index.php [L] 

    RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] 
    RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 
</IfModule> 

답변

2

에 의해 사용되는 htaccess로 코드입니다.

RewriteRule^index.php [L] 규칙이 처리되고 사용자의 요청이 index.php으로 리디렉션됩니다.이 규칙 다음에 규칙이 있습니다.

해결책은 - 규칙 순서를 변경하는 것입니다.

<IfModule mod_rewrite.c> 
     <IfModule mod_negotiation.c> 
      Options -MultiViews 
     </IfModule> 

     RewriteEngine On 


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

     # Redirect Trailing Slashes... 
     RewriteRule ^(.*)/$ /$1 [L,R=301] 

     # Handle Front Controller... 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule^index.php [L] 
</IfModule> 

다음은 www.domain.com으로 리디렉션되고 다른 규칙 검사가 수행됩니다.

+0

감사합니다. @lisectech – Omkar

관련 문제