2012-01-05 1 views
0

비슷한 내용이 여기에 설명되어 있지만 약간 다릅니다.

.htaccess가 요청한 페이지를 (사이트 루트의 깊이에 상관없이) 사이트의 인덱스 페이지로 다시 쓰도록 요청하는 방법은 요청한 URL을 $ _GET 매개 변수로 다시 작성하므로 PHP에 의해 처리 될 수 있습니다. 내용, 또는 URL 자체에 따라 다릅니다.

나는

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^(.*) index.php?page=$1 

처럼 뭔가를 시도했지만 분명히 내가 잘못 뭔가.

미리 감사드립니다.

+0

작동하지 않는다고 판단하기 위해 테스트 한 URL과 결과는 무엇입니까? .htaccess 파일에있는 다른 내용은 무엇입니까? –

+0

@UlrichPalha 필자는 /와 index.php 파일로 끝나는 URL과 somefile.php로 끝나는 URL 모두에서 루트 수준과 한 수준 아래에서 테스트했습니다. .htaccess에는 아무 것도 없으며 ErrorDocument 404/4044.php에 영향을주지 않습니다. – cincplug

+0

당신의 규칙은'[L, QSA]'플래그를 추가하는 것을 제외하고는 괜찮습니다. 즉,'RewriteRule (. *) index.php? page = $ 1 [L, QSA]'는 –

답변

2

RegEx에 대한 작업을 시도하십시오. 이 같은 아마 뭔가 :

RewriteRule ^([a-zA-Z0-9\-]+)([\/]*)$ index.php?page=$1 [NC,QSA,L] 
+0

분명히 RegEx 기술에 대한 도움을 사용할 수 있습니다. 빌 고마워! 이 사이트를 사랑해 라! – bobbiloo

+0

감사합니다. 적어도 한 단계 아래로는 작동합니다. 다른 레벨에서도 작동하도록하는 정규식을 알아낼 것입니다. – cincplug

1

은 기본적으로 당신이 원하는 매개 변수를 입력하여 http://www.webtoolhub.com/tn561403-htaccess-url-rewrite.aspx 같은 온라인 도구를 사용하여 재 작성 코드를 생성 할 수 있습니다. 그냥 URL 구조를 넣으면 필요에 따라 사용하거나 수정할 수있는 .htaccess 코드가 작성됩니다.

관련 문제