2017-11-21 2 views
0
내가 찾고

으로부터, .htaccess 파일에서 두 변수의 URL을 변경하려면 다음을 수행하십시오htaccess로 재 작성 규칙 변경 URL

domain.com/folder/a123/url/index.php 
domain.com/otherfolder/a321/url/index.php 

에 :

domain.com/folder/url/index.php 
domain.com/otherfolder/url/index.php 

나는 것 가능한 경우 한 줄에 .htaccess RewriteRule을 사용하십시오.

"folder"와 "otherfolder"는 단 두 개의 "폴더 이름"이고 "a123"/ "a321"은 "a"로 시작하여 임의의 숫자로 끝나는 모든 항목이 될 수 있습니다.

답변

0

당신은 단지 하나의 규칙이 사용하여 하나에 그 작업을 수행 할 수 있습니다

RewriteEngine on 
RewriteRule ^(.+)/a[0-9]*/url/index.php$ /$1/url/index.php [R=301,NC] 

하지만 당신은 모든 페이지를 리디렉션하고 싶은 경우뿐만 아니라 index.php 다음이 사용하는 경우, 또한

RewriteRule ^(.+)/a[0-9]*/url/(.*)$ /$1/url/$2 [R=301,NC] 

을 리디렉션하지 않고 URL을 다시 쓰려면 [R=301,NC][NC]으로 변경하십시오.

다른 URL에 해당 패턴이있는 경우이 규칙도 적용됩니다 (예 : domain.com/adifferentfolder/a567/url/index.phpdomain.com/adifferentfolder/url/index.php으로 리디렉션 함). 이러한 유형의 URL이 있고 리디렉션하지 않으려면 두 가지 규칙을 사용해야 함 대신 :

RewriteRule ^folder/a[0-9]*/url/(.*)$ /folder/url/$1 [R=301,NC] 
RewriteRule ^otherfolder/a[0-9]*/url/(.*)$ /otherfolder/url/$1 [R=301,NC]