2014-03-04 5 views
0

홈페이지 및 연락처 페이지 만있는 간단한 사이트를 만들고, .htaccess를 사용하여 다른 회사의 URL을 다시 쓸 수 있는지 궁금합니다..htaccess URL이 흰색 라벨 사이트에 다시 작성됩니다.

예를 들어 website.com/companyname-contact/에 접속하면 해당 URL이 브라우저 막대에 표시되지만 실제로는 일반적인 contact.php 페이지가로드되고 PHP를 사용하여 올바른 연락처 세부 정보를 가져올 수 있습니다 해당 특정 회사 이름.

다른 회사 이름 (예 : website.com/anothercompany-contact/)에서 작동해야하지만 승인 된 회사 이름 배열에서만 작동합니다.

나는 이것이 가능하지 않을 수도 있음을 깨달았지만, 나는 오늘 아침 약 4 시간을 구글 진도가없이 진행했기 때문에 물어볼 것이라고 생각했다.

감사합니다.

답변

2

수동 내가이 좋을 것 (UGLY 보이는) 당신의 .htaccess 파일에서 승인 된 회사 이름을 나열 할 않는 :

RewriteEngine On 


    RewriteRule (.*)-contact$ /contact.php?company_name=$1 [L,QSA,NC] 

다음 contact.php에

  • determin e 유효한 회사 이름 인 경우 - db 또는 사용중인 모든 방법을 확인하십시오.
  • 유효하지 않은 경우 (입력을 탈출해야합니다) 당신은 몇 가지 옵션이 있습니다 :
    • REDIR 기본 404 페이지
    • 문제 지능형 경고 페이지 (즉,에 대체 맞춤법에 대한 제안을 포함을 db) 및 404 헤더를 설정하십시오. (더 나은 IMO) 실제로
    • DB를 비슷한 회사 이름은 아마도 내가 HTTP 응답에 동의 페이지
+0

의 상단에 메모와 함께이 리디렉션 경우. 서버 응답을 처리하기 위해 서버 측 로직을 사용할 때마다 HTTP 표준을 부과하는 것이 낫습니다. a) 사이트의 내부 논리가 작동하는 방식을 방지하는 데 도움이됩니다. b) 응답 코드를 실제로 의미있게 만듭니다 (표준으로) c) 봇 크롤링 및 잠재적 인 API의 일관성을 유지하고 롤 준비가 완료되도록합니다. 누군가가 외부 블로그에서 회사와 상호 연결되었지만 이름을 잘못 입력했는지 상상해보십시오. 수색 엔진이 404를 명중하고 경고 페이지를 색인으로 붙이기보다는 오히려 닫는 경우에 더 나을. 404가 사용자 정의 페이지로 이동했을 수 있습니다. – Anthony

+0

@Anthony 경고로 상황에 대한 구체적인 설명이있는 경고 페이지 (유사한 철자 또는 자동 맞춤 리디렉션과 유사한 맞춤법의 제안과 같은)가 있었지만 일반적인 전체 사이트 404 페이지가 아닌 404 상태 코드 *로 경고 페이지를 의미했습니다. –

+1

아, 맞춤 404입니다. 개인적으로 보안을 위해 제안하는 것이 아니라 개인적으로 제안하는 것이 아니라 거래 차단 기가 아닙니다. 좋은 HTTP 응답에 대해 말하고 싶었습니다. 많은 사람들이 404가 항상 피해야한다고 생각합니다. 이는 잘못된 것입니다. 또는 403이나 410을 의미 할 때 404를 사용해야한다고 생각합니다. 작은 주전자는 자주 사용되지 않습니다. – Anthony

0

예. 가능합니다. 다시 쓰기 엔진을 활성화해야합니다. 그러면 정규 표현식을 사용하여 수행하려는 작업을 수행 할 수 있습니다.

은 htaccess로 좋아하는 수 있는지의 예입니다

RewriteEngine On 
RewriteRule ^contact/([A-Za-z0-9-]+)/?$ contact.php?company=$1 [NC,L]