2011-02-01 2 views
3

내 도시에 대한 지역 이름/전화/주소 검색 엔진을 작성했습니다. URL 및 .htaccess의 공백 사용

  • 검색 LASTNAME 에 의해

    1. 검색 수 기준 :

      사용자는 이러한 URL 중 하나로 이동하여 결과를 신속하게 액세스 할 수 있어야합니다

    2. LASTNAME 및 이름으로 검색

    이 내 현재의 .htaccess의 설정입니다 :

    # Smart links 
    RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L] 
    RewriteRule ^([A-Za-z-]+)$ /html/index.php?lastname=$1 [QSA,L] 
    RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L] 
    

    사용자가 성 및/또는 이름에 공백을 포함하는 경우를 제외하면 매우 잘 작동합니다. 또한 이름을 검색 할 때 숫자를 사용할 수 없습니다.

    URL에 공백을 허용하는 방법에 대한 아이디어가 있으십니까? 감사!

  • 답변

    11

    시도해 볼 수 있습니까?

    RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L] 
    RewriteRule ^([A-Za-z-\s]+)$ /html/index.php?lastname=$1 [QSA,L] 
    RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L] 
    
    ([a-z-\s]+)
    +0

    은 완벽하게 작동했습니다. 당신의 도움을 주셔서 감사합니다! – andufo

    +0

    환영합니다. ;) – borayeris

    +0

    이 규칙은 내 서버 중 하나에서만 작동하지만 다른 서버 (오류 표시)에서는 작동하지 않습니다. 특별한 이유가 있습니까? –

    1
    RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /index.php?lastname=$1&name=$2 [QSA,L] 
    

    의 \의 빈 공간 처리됩니다.