2010-04-16 2 views
2

그래서 부모 디렉토리 (예 :/faq/question1/->/faq /)로 리디렉션하려는 여러 페이지에 대해 일련의 리디렉션이 있지만 매우 수동적으로 생성되므로 매우 유연합니다.mod_rewrite를 사용하여 하위 페이지/디렉토리를 상위 디렉토리로 리디렉션 할 수 있습니까?

어떻게 RegEx-fueled를 설정할 수 있습니까? RewriteRule? 나는 그것을 이해할 수 없었고, 약간의 지침을 사랑할 것입니다. 다음은 충돌을 피하기 위해 내 htaccess로의 전체,의 (당신은 내가 지금 자리에있는 개별 RewriteRules을 볼 수 있습니다) :

AddDefaultCharset utf-8 
AddHandler php5-script .php 
DirectoryIndex index.php 

ErrorDocument 403 /errors/forbidden.html 
ErrorDocument 500 /errors/internalerror.html 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} ^halftoneproductions.com 
RewriteRule (.*) http://www.halftoneproductions.com/$1 [R=301,L] 

# FAQ redirects 
RewriteRule ^faq/how-much-does-it-cost-to-make-an-albummix-a-songetc /faq/ [R=301,L] 
RewriteRule ^faq/im-a-singersongwriter-with-no-band-members-would-you-be-able-to-do-a-full-production-of-my-songs-with-session-musicians /faq/ [R=301,L] 
RewriteRule ^faq/do-you-do-postsound-for-film-at-all /faq/ [R=301,L] 
RewriteRule ^faq/i-have-a-home-studio-and-just-need-to-record-___-is-that-cool /faq/ [R=301,L] 
RewriteRule ^faq/are-you-a-publishing-company /faq/ [R=301,L] 
RewriteRule ^faq/do-you-need-any-interns-or-runners /faq/ [R=301,L] 
RewriteRule ^faq/can-i-bring-my-own-producerengineer-to-a-session /faq/ [R=301,L] 
RewriteRule ^faq/what-types-of-music-do-you-work-on /faq/ [R=301,L] 
RewriteRule ^faq/do-you-work-with-languages-other-than-english /faq/ [R=301,L] 
RewriteRule ^faq/do-you-guys-make-beats /faq/ [R=301,L] 
RewriteRule ^faq/i-have-an-old-tape-reelcasetteminidiscetc-and-would-love-to-transfer-it-to-some-other-form-can-you-help-out /faq/ [R=301,L] 
RewriteRule ^faq/i-have-my-own-producerengineeretc-and-just-need-help-working-out-a-budget-for-my-project-and-booking-studio-time-can-you-help-out /faq/ [R=301,L] 

# Recent Work redirects 
RewriteRule ^recent-work/josh-and-neal /recent-work/ [R=301,L] 
RewriteRule ^recent-work/midnights-son /recent-work/ [R=301,L] 
RewriteRule ^recent-work/bearkat /recent-work/ [R=301,L] 
RewriteRule ^recent-work/madi-diaz /recent-work/ [R=301,L] 
</IfModule> 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

답변

5

당신이 URL 경로 접두어로 /faq/이의 모든 요청을 리디렉션 할 경우, 이 규칙을 사용할 수 있습니다.

RewriteRule ^faq/. /faq/ [R=301,L] 

단일 .은 임의의 문자를 나타냅니다. 따라서 URL 경로 인 모든 요청은 /faq/으로 시작하고 그 뒤에 적어도 하나의 문자가 /faq/으로 리디렉션됩니다.

+0

검보, 정말 고마워. 나는 이것에 반대하는 나의 머리를 치고 있었다. 그리고 그것은 나를 미치게했다. 너무 가까이에 뭔가가 있었지만/faq/자체와 함께 리디렉션 루프가 발생했습니다. 항상 간단한 물건들 ... – jeffbyrnes

+0

이 솔루션을 찾기 위해 멀리서 검색 한 것 외에는 아무 것도 작동하지 않았습니다, 감사합니다 !!! 생명의 은인 :) – ByteMyPixel

관련 문제