2012-12-18 2 views
0

폴더가있는 사이트와 해당 폴더 내에 htaccess 파일이 있습니다. 이 같은htaccess - 검색어 문자열을 멋지게 만들 URL을 다시 작성하십시오.

www.example.com/myfolder/myparameter 

동작 해 (즉, 내 코드에 $_GET['parameter'] = 'myparameter'한다)

www.example.com/myfolder/index.php?parameter=myparameter 
: 해당 폴더 내에서 index.php 파일의 경우,이 URL의 특정 매개 변수에 대한 쿼리 문자열, 그래서 입력을 다시 할

StackOverflow에서 많은 질문을 보았지만 제대로 작동하지는 못했습니다. 지금까지의 코드는

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^(.*) [NC] 
RewriteRule ^$ %0 [QSA] 

입니다.하지만 이는 전혀 작동하지 않습니다.

답변

1

이 코드를

RewriteEngine on 
RewriteRule (.*) index\.php?parameter=$1 [L,QSA] 
+0

많이 감사합니다 (apache docs에서)이 작동합니다. 그러나 스크립트, 스타일 시트 및 이미지는 더 이상 작동하지 않습니다. 이들은 www.example.com/myfolder/_images/image.png, www.example.com/myfolder/_scripts/script.js와 같은 URL에 있습니다. 그것들을 고칠 수있게 도와 줄 수 있니? – Will

+0

이걸 사용하십시오 RewriteRule! \. (js | gif | jpg | png | css | txt | eot | woff | ttf) $ - [L] – somasundaram

0
RewriteEngine on 
RewriteRule (^.*/)([^/]+)$ $1index\.php?parameter=$2 [L,QSA] 

갱신
미안 사용 @의 somasundaram의 답변을 사용하십시오.

htaccess로의 재 작성 엔진을 사용하여 (항상 특정 디렉토리에 대해 동일) 당 디렉토리 접두사를 파일을 자동으로 RewriteRule의 패턴을 제거한다 : 당 디렉토리에 다시 htaccess로 규칙은 디렉토리의 접두사를 잃을 (슬래시 또는 프로토콜 이름으로 시작하지 않음) 대체가 규칙 세트의 끝을 만나면 자동으로 추가됩니다. 상대 치환에 어떤 접두사를 다시 추가 할 것인지에 대한 자세한 내용은 RewriteBase 지시문을 참조하십시오.

+0

이것은 작동하지 않는 것 같습니다. "페이지를 찾을 수 없습니다" – Will

+0

@ 윌, 내 업데이 트를 참조하십시오. 당신이 발견 한대로, somasundaram의 대답은가는 길입니다! – foundry

관련 문제