2010-05-03 6 views
1

이것은 완전히 새로운 영역이므로 잠시 기다려주십시오. 내가하고있는 역동적 인 사이트에 대해 "퍼머 링크"를 만들고 싶습니다. 쓸모있는 URL이 더 같이 될 수 있도록.htaccess ModREwrite

http://www.domainname.com/page.php?ID=122 (etc) 

내가 적절한 재 작성 규칙을 만들려면 :이 순간 모든 페이지 (안 색인), 따라서 ID 변수를 사용하여 참조하는

http://www.domainname.com/page/'pagetitle'.html (could be .php doen't matter) 

페이지 제목은 데이터베이스에 저장되며 분명히 ID와 직접 연결됩니다.

제가 재 작성 규칙은 다음과 같은 내용이 될 것이라고 생각합니까?

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)ID=([^&]+)(&+(.*))?$ 

RewriteRule ^page\.php$ /page/%3?%1%5 [L,R=301] 

내 이상은

http://www.domainname.com/'pagetitle'.html 

을 만들 수 그러나 그렇게하는 방법을 절대적으로 아무 생각이 없을 것이다.

이제 다른 질문/하위 질문입니다.

재 작성 작업은 당신이 http://www.domainname.com/page/에 입력 즉, 경우

'브라우저의 주소 표시 줄에 pagetitle'.html 페이지 http://www.domainname.com/page.php?ID=122 접근에 htaccess로 파일 작업 "다른 방법"을 수행하거나 내가 가지고하는 함수를 만들 필요가 수행' URL의 pagetitle'.html 비트를 page.php로 변환 하시겠습니까? ID = 122?

또한 죄송하지만 이것은 모두 새로운 것입니다. http://www.domainname.com/page/ 'pagetitle'.html을 사용하여 사이트 맵 (XML 또는 PHP 등)을 만들면 SE 거미가 http://www.domainname.com/page.php?ID=122으로 바뀌나요? 또는 di ID 변수를 사용하여 사이트 맵을 만들어야합니까?

답변

1

질문 1과 2 : 이 경우 조건은 필요하지 않습니다. 이처럼 사용

RewriteRule ^/page/([\w-]+).html$ /page.php?title=$1 [L,R=301] 

이 변환 당신은

page.php

에서 질문 3의 제목 매개 변수를 사용하여 오른쪽 페이지를 찾을 필요가 /page/blabla.html /page.php?title=blabla에 : 나는 당신이 결코 쿼리 문자열 변형을 사용하지 않는 것이 좋습니다 을 귀하의 앵커 링크 또는 XML 사이트 맵에있는 URL 중. 이 방법으로 거미는 친숙한 URL 만 알 수 있습니다.

+0

안녕하세요 fabian 님, Rewrite 규칙을 살펴보면 간단한 질문입니다. RewriteRule ^/([\ w -] +) .html $ /page.php?title=$1 [L, R = 301] work? 즉 페이지/ – RussP

+0

을 꺼내십시오. 그렇습니다. 그러면 /blabla.html이 /page.php?title=blabla로 다시 작성됩니다. – Fabian

+0

아, [\ w -] +는 단순히 하나의 문자 또는 숫자와 하나 이상의 반복이있는 하이픈을 의미합니다. 필요에 맞게이 값을 변경해야합니다. – Fabian