2016-08-30 4 views
1

아마도 간단한 해결책이지만 고객의 애드워즈 계정에 대한 방문 페이지를 만들 예정입니다. 우리는 페이지를 생성하고 PHP에서 get 요청을 사용하여 영역과 키워드를 삽입합니다.Htaccess SEF url 다시 작성

URL입니다의 현재 다음과 같이 : 나는 수 있도록 해주는 htaccess로 재 작성 규칙을 찾고

기본적으로

http://www.customersdomain.co.uk/index.php?keyword=locksmith&area=london

URL을 입력해야합니다 :

http://www.customersdomain.co.uk/areas/locksmith-london.html

보기로 자물쇠 제조사 & 런던의 동적 콘텐츠가 페이지에 입력되고 자물쇠 제조원와 같은 다른 키워드로 대체 될 수 있습니다.버밍엄. 우리는 이것이 현의 목적을위한 나쁜 습관이라고 알고 있지만이 고객은 "고객에게 현지에 나타나기를 원합니다"라는 다른 이유가 있습니다.

정말 큰 도움이되지 않으므로 도움이 될 것입니다.

+0

".htaccess rewrite"문제는 무엇입니까? .htaccess는 다시 쓰기 저장소가 아니며 관리자가 아닌 사용자가 특정 디렉토리에 대한 지시문을 구성 할 수 있도록 만들어졌습니다. HTTPD 서버 관리자가 아니십니까? 당신이 원하는 것에 관해서는 내부 리다이렉션을 통해 그 값을 캡쳐하고 타겟 URL에서 사용할 수 있습니다. –

+0

안녕하세요. 예, 서버에 대한 모든 액세스 권한이 있습니다. htaccess로 수행 한 변형을 보았으므로 올바른 방법이라고 생각했습니다. 이 작업을 수행하는 데 더 좋은 방법을 제안 할 수 있다면 감사하게 생각합니다. 지금까지 의견을 보내 주셔서 감사합니다. –

답변

0

당신은 관리자이기 때문에 당신은 당신이 가상 호스트 상황에서이 같은 것을 사용할 수 있습니다, 모든 htaccess로 필요하지 않습니다 :

RewriteEngine on 
RewriteRule ^/areas/(.+)-(.+)\.html$ /index.php?keyword=$1&area=$2 [L] 

또는

RewriteRule ^/areas/([^-]+)-(.+)\.html$ /index.php?keyword=$1&area=$2 [L] 

이것은 아주 초보적인 방법입니다 둘 다 작동하지만 제한된 값 집합을 가진 경우 (london|paris|gotham)과 같이 괄호 안에 값을 넣을 수 있습니다. 좀 더 복잡한 예가 있습니다. 특히 가능성이 크고, RewriteMap을 사용할 수있는 매우 구체적인 유형이 필요하다면 더욱 그렇습니다. 그러나 처음에는 이들을 사용해 실제로 [R, L]을 사용하여 실제로 다시 쓰고 브라우저에서 실제로 어떻게 바뀌 었는지 확인한 다음 작동한다고 확신하면 R 플래그를 제거하여 얻을 수 있습니다. 내부적으로 재 작성됩니다.

테스트 중간에 캐시를 지우거나 "curl http://www.customersdomain.co.uk/areas/locksmith-london.html"을 사용해 브라우저의 캐시가 테스트를 방해하지 않는지 확인하십시오.

mod_rewrite documentation

아를 반드시 확인하고, htaccess에 대한. 나는 당신이 어딘가에 .htaccess를 사용하는 것을 읽었으며,이 세상의 모든 사람들이 다시 쓰기를 추가하는 것은 마법 파일이라고 생각하는 것 같지만 사실 그것은 HTTPD의 기본 구성 파일에 대한 액세스 권한이없는 사용자를위한 것일뿐입니다. 이것은 dir 컨텍스트에서 발생하며 서버에 많은 오버 헤드를 추가합니다. 서버를 사용하지 않음으로써 최대한의 성능을 발휘하면 클라이언트에게 감사 할 것입니다. 행운을 빕니다!

+0

안녕하세요,이 답변을 주셔서 감사합니다. 클라이언트 도메인의 가상 호스트를 구축 할 때 완벽하게 작동했습니다. –

+0

당신이 좀더 자세히 설명해 줄 수 있는지 궁금 해서요. 고객이 원하는 키워드 중 일부는 예를 들어 폴더에 나타낼 필요가 있습니다. 이렇게 규칙을 만들 수있는 방법이 있습니까? 이것을 지원하십시오 : http://www.customersdomain.co.uk/areas/{ANYCOUNTY}/any-amount-of-words-{AREA}.html 그래서 기본적으로 나는 각 키워드에 대해 마스터 PHP 페이지를 만들 수 있습니다. get 요청과 함께 전달되는 변수로만 영역을 가진 단어의 양이 될 수 있습니다. 따라 오면 매번 PHP 마스터 파일의 이름을 지정하는 대신 1 개의 규칙으로 작업 하시겠습니까? –