2009-07-16 2 views
2

나는 이와 같은 URL을 가지고 있습니다..htaccess를 사용하여 URL의 일부를 제거하는 방법

/domains/details.php (참고 : domains는 동적이며 무엇이든 할 수있다) 내가 사용 URL에서 domains 부분을 제거하려면 어떻게

의 .htaccess 때문에 실제 검색은 다음과 같습니다

/details.php

또는 URL에 domains을받을 수 있으면 멋지게 될 것입니다. /details.php?page=domains

감사합니다. 당신이 내부 리디렉션보다는 실제 HTTP 리디렉션을 원하는 경우 스콧

+0

@Lawrence : 감사합니다! 위의 내용을 한 번 빨리 편집하십시오. URL이 http://www.mydomain.com/domains/details.php?user_id=2323 인 경우 어떻게 되나요? user_id에 대한 URL 매개 변수를 캡처하려면 다시 쓰기 규칙을 어떻게 적용 할 수 있습니까? 동적 변수입니다). 감사합니다. –

+0

기존 쿼리 매개 변수를 보존하는 내용을 포함하도록 답변을 업데이트했습니다. –

+0

@Laurence : 이봐, 고마워. 공장!!! –

답변

5
RewriteEngine on 
RewriteBase/

RewriteRule ^([^/]+)/details.php$ /details.php?page=$1 [R=301] 

[R=301]을 남겨주세요.

는이에 규칙을 변경할 수 있습니다 기존 쿼리 매개 변수를 유지하려면 :

RewriteRule ^([^/]+)/details.php(.*)$ /details.php?page=$1&%{QUERY_STRING} [R=301] 
+0

안녕하세요 SUPER는 답변을 많이 주셔서 감사합니다! –

+0

그것은 훌륭합니다! 정말 고마워!!! –

1

마지막 요청을 처리하기 위해 다음과 같은 규칙을 사용 해보세요 :

RewriteRule ^(?!domains/.*)([^/]+)/details.php$ domains/details.php?page=$1 [R=301,QSA] 
RewriteRule ^domains/details.php$ details.php [NC,L] 
+0

안녕하세요, Tony, 답장을 보내 주셔서 감사합니다. "도메인"부분은 동적입니다. 이 htaccess가 그걸로 작동할까요? 정말 고마워요! –

+0

그렇다면 설명에서 "도메인"과 "도메인 1"값 사이에 종속성이 있습니까? 아니면 완전히 다를 수 있습니까? – TonyCool

관련 문제