2011-08-25 4 views
0

그래서 내 URL이 현재 :Htaccess는 규칙을 다시 작성합니까?

http://www.mywebsite.com/?s=stack+overflow

지금은도 구현했습니다 : 나는 그것을 접근로가 꿔

http://www.mywebsite.com/search.php?keyword=stack+overflow

다음과 같이 .php 파일을 다시 씁니다.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

은 내가 search.php 그냥 search에 다시하지만 search.php 여전히 accessable 한 것입니다되고 있기 때문에 지금은 조금 혼란, 그래서 내 재 작성 규칙을 만들 때 나는 search.php하거나 search 다시합니까? ...... 나는 '어느 쪽이든 시도하고 그것을 성취하지 못했습니다.

원하는 URL을 추가하려면 어떻게해야합니까? 도움이 많이 감사드립니다 :)

답변

2

mod_rewrite로 매개 변수 이름을 변경할 수 없습니다. 당신이 원하는 것을 달성하기 위해 가장 쉬운 방법은 .htaccess로 다음 라인을 추가하는 것입니다

RewriteCond %{QUERY_STRING} ^s= 
RewriteRule .? search.php [L] 

s에 반응 search.php를 수정 그것을 keyword에 반응과 동일 매개 변수를 얻을.

대안은 그대로 htaccess로 유지하고 index.php를 상단에 다음을 추가하는 것입니다

if (!empty($_GET['s'])) { 
    $_GET['keyword'] = $_GET['s']; 
    require __DIR__ . '/search.php'; 
    exit; 
} 
+0

당신은 충분히 쉽게 매개 변수의 변화에 ​​제안 아 좋아요, 내가했다. 고맙습니다. – Jessica

+0

mod_rewrite로 매개 변수 이름을 변경할 수 있습니다. –

+0

어떻게? 하나의 예나 링크를 줄 수 있습니까? – Crack

관련 문제