2016-09-10 3 views
2

검색 엔진 친화적 인 URL로 내 웹 사이트의 검색 양식을 만들려고합니다. `검색 결과 요청 uri로 다시 쓰기

RewriteCond %{REQUEST_URI} searchrd$ 

RewriteCond %{QUERY_STRING} ^query=([^&]+)$ 
RewriteRule ^([^&]+)$ /results/%1? [R=301,L] 
RewriteRule ^/?results/([^&]+)?$ results.php?query=$1 [NC] 

내 문제가 :

<form class="form" method="get" id="searchform" action="searchrd"> 

검색 여기

내 htaccess로 파일도된다

내 웹 사이트의 모든 페이지에 다음과 같은 형식의 코드를 다음 :

내가 예를 들어 홈페이지는 HTTP에 저를 얻을 수 없다 {검색 용어 1} 내 검색를 입력하십시오 :이 단계

} // websitename.com/results/{search-term1 없음 문제

하지만 {search-term2}와 (과) 결과 페이지에서 검색을 시도하면이 URL이 나타납니다. http : // websitename.com/results/{search-term1}?query={search-term2}

내 질문 결과 페이지에서 검색을 수행하더라도 두 번째 검색에 대해이 URL을 http://websitename.com/results/ {search-term2} (으)로 사용하려면 어떻게해야합니까? 나는 이미 몇 시간 동안 수색하고 깃발, 규칙 및 조건을 변경했다. 그러나 아무것도 내가 원했던 것을 나에게주지 않았다. 양식 행동

답변

0

사용 절대 경로 :이 같은

<form class="form" method="get" id="searchform" action="/searchrd"> 

그리고 리팩토링 규칙 : 마법처럼

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^query=([^&]+)$ [NC] 
RewriteRule ^searchrd/?$ /results/%1? [R=301,L,NC,NE] 

RewriteRule ^/?results/([^&]+)?$ results.php?query=$1 [NC,L,QSA] 
+1

작품. 고마워. –