2014-03-30 4 views
1

mod_rewrite를 사용하여 URL에서 파일 이름을 제거하려면 어떻게해야합니까?URL에서 파일 이름 제거

예 : some+search.html

이 내 htaccess로 코드 코드가 searchpage-some+search.html에.

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /searchpage\.php\?search=(.*)\ HTTP 
RewriteRule ^searchpage\.php$ /searchpage-search-%2.html? [R,L] 

#Internal rewrite 
RewriteRule searchpage-search-(.*)\.html$ searchpage.php?search=$1 [L] 

이것은 $ _GET 요청을 사용하는 검색 양식 용입니다. 이것은 잘 작동하는 유일한 것은 내가 파일 이름을 제거하려는 것입니다. 누군가 도와 주면 정말 고맙습니다.

답변

1

예에서 당신은 searchpage-some+search.html이지만 귀하의 htaccess에서는 실제로 이것을 searchpage-search-some+search.html으로 다시 쓰고 있습니다.

그러나 링크에서 searchpage-search을 제거하려면 RewriteRule에서 searchpage-search-을 제거하면됩니다. 귀하의 htaccess는 다음과 같을 것입니다.

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /searchpage\.php\?search=(.*)\ HTTP 
RewriteRule ^searchpage\.php$ /%2.html? [R,L] 

#Internal rewrite 
RewriteRule (.*)\.html$ searchpage.php?search=$1 [L]