2016-10-10 4 views
0

mod_rewrite를 사용하여 http://example.com/video.php?id=123A_BC을 .htaccess 파일의 http://example.com/video/123A_BC으로 리디렉션하고 싶습니다.깨끗한 URL을 얻기 위해 리디렉션하는 방법

+0

내 문제를 해결했다. 그것은 내가 필요로하는 것을했지만 쿼리 문자열 또한 URL의 끝에 추가되었습니다. RewriteCond % {REQUEST_URI} ^/video \ RewriteRule^(. *) 비디오/% 1 [R = 301, L]' 출력이 http://example.com/video/ABC_123?id=ABC_123 – Igal

답변

0

깨끗한 URL을 리디렉션하는 대신 다시 쓰기를 사용해야합니다.

이 시도하십시오

,

Options -MultiViews 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/([\w-]+)$ $1.php?id=$2 [QSA,NC,L] 
+0

안녕하세요, 저를 위해 작동하지 않습니다. .php? id = with/ – Igal

+0

을 대체해야합니다. 여기서는'http : // example.com/video/123A_BC'를 호출 할 때'http://example.com/video.php?id '에 요청을 내부적으로 다시 쓰고 있습니다. = 123A_BC' 확인하십시오 –

+0

원래 링크는 http://example.com/video.php?id=123A_BC이며 http://example.com/video/123A_BC로 바꾸고 싶습니다. – Igal

0

다음 코드는 내가 다음 코드를 시도

RewriteCond %{REQUEST_URI} ^/video\.php$ 
RewriteCond %{QUERY_STRING} ^id=(.*)$ 
RewriteRule ^(.*) video/%1? [R=301,L] 
관련 문제