2012-10-12 11 views
2

지금 웹 사이트를 업데이트하고 있으며 example.com/test.php에서 example.com/test과 같은 비 확장 링크의 모든 링크를 변경하고 싶습니다.몇 가지 리디렉션을 만드는 방법

RewriteCond %{THE_REQUEST} ^GET\ /(([^/?]*/)*[^/?]+)\.php 

RewriteRule ^.+\.php$ /%1 [L,R=301] 

을 그러나 동시에 나는 example.com/test2.phpexample.com/level/test2.php처럼 내 웹 사이트의 낮은 수준에있는 어떤 링크에 대한 리디렉션을 만들 필요가 :이 솔루션은 내가 htaccess로 파일에 넣어 발견했다. 내 파일을 하위 레벨에서 상위 레벨로 리디렉션하고 .php 확장자를 동시에 제거하려면 .htaccess에 무엇을 써야합니까?

답변

0

당신은 당신의 그룹을 분리해야하고, 2 일, 전체가 아닌 것은 역 참조 :

RewriteCond %{THE_REQUEST} ^GET\ /([^/?]*/)*([^/?]+)\.php 
RewriteRule ^.+\.php$ /%2 [L,R=301] 

기본적으로 /(([^/?]*/)*[^/?]+)\.php([^/?]*/)*([^/?]+)로 변경을 한 후 %1은 규칙의 대상에 %2로 변경됩니다.

관련 문제