2009-09-12 11 views
2

사이트를 다시 만들고 하위 도메인 (board.example.com)에서 example.com/index가 될 기본 도메인으로 포럼을 이동하려고합니다.htaccess 하위 도메인에서 도메인으로 리디렉션

작동
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.*).example.com 
RewriteRule ^(.*)$ http://www.example.com/index.php/forums/ [R=301,L] 

하지만 이미 검색 엔진에 의해 색인되어있어 모든 콘텐츠에 대한 새로운 URL이 함께 표시 : 내가 지금처럼 내 htaccess로 파일을 설정 한

.PHP/포럼/예 :

example.com/index.php/forums/?p=1199 & sid = 4daeb5a cf7983a0f8d56737c4812f474

새 URL 끝에 추가되는 비트를 지우는 방법이 있습니까? 나는 당신의 SID 매개 변수가 어디에서 오는 확실하지 않다

답변

1

...

아마 (mod_rewrite에 의지하기 전에) 먼저 시도 할 방법은 다음과 같습니다

<VirtualHost *> 
    ServerName board.example.com 
    Redirect permanent/http://www.example.com/index.php/forums/ 
</VirtualHost> 
+0

감사합니다, 팀. sid 매개 변수는 phpbb가 URL에 추가 한 엉뚱한 것에서 온 것입니다. 아마도 보드를 100 % 올바르게 설정하지 않았을 것이며 Google이 색인을 생성했을 때 아마 sid가 할당되었을 것입니다. 나는 당신이 제안한 것을 시도해 보았고 작동하지 않는 것으로 보인다. (이것은 500 오류를 일으킨다.) – pfulton

+0

영구적 인 후에 "/"를 추가하여 내 응답을 편집했는데 이제는 문제가 " sid = "물건이 검색 표시에 갇혔습니다. 내 대답이 작동하지 않는다고 말할 수 있습니다. 다시 mod_rewrite로 돌아갑니다. 당신은 다양한 것들 (sid 부분 포함)을 캡쳐 해 볼 수 있고 sid-less URL을 재구성 할 수 있습니다. 다음과 같은 것 (매우 대략적으로 * 이것을 수정해야합니다) : RewriteRule^(. *) sid = ([^ &] *) (. *) http://www.example.com/index PHP/포럼/$ 1 $ 2 – timdev

+0

고마워, 나는 그것을 줄거야! 도움에 감사드립니다. – pfulton

관련 문제