2014-03-27 3 views
0

4 시간 이후로 검색 중이며 해결책을 찾을 수 없습니다. 누군가가 나를 도울 수 있기를 바랍니다. htaccess로 URL을 다시 쓰고 싶습니다.rewriterule htaccess - 변경 URL

나는 MENUE에서이 링크가 있습니다 /index.php?sec=schmiede & MP = 자주 묻는 질문

을 그리고 브라우저의 URL이를 얻으려면 : /schmiede/자주 묻는 질문

감사합니다 ! Markus

답변

0

모든 요청을 index.php로 리디렉션하고 요청을 처리 할 수 ​​있습니다. .htaccess는 다음과 같이 보입니다.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

당신은 "/ schmiede/자주 묻는 질문"[ 'REQUEST_URI'] 반환합니다 $ _SERVER를 호출 한 다음

$route = explode('/', ltrim('/', $_SERVER['REQUEST_URI'])); 

또는를 사용하여 배열로 설정할 수 있습니다하여 요청을 처리 할 수 ​​있습니다 당신은 그 하나의 요청을 간단히 방향을 바꿀 수 있습니다; 귀하의 예제는 index.php를 직접 호출을 보여줍니다 때문에 당신은 아마 모든 링크에 대해 "좋은 URL을"사용 하듯이

RewriteEngine On 
RewriteRule ^schmiede/faq$ /index.php?sec=schmiede&mp=faq [L] 

그러나, 나는 처음을 사용할 수 있습니다.

+0

" 한다 RewriteRule^schmiede/자주 묻는 질문 $의 /index.php?sec=schmiede&mp=faq에한다 RewriteEngine [L]는" 감사합니다. 나는 그것을 시도하지만 아무것도 만들지 않는다/어떤 생각? – Markus

+0

후자의 옵션을 테스트했는데 제대로 작동합니다. 서버에서 mod_rewrite가 활성화되어 있는지 확인하십시오. .htaccess : 'RewriteEngine On' [linebreak]'RewriteRule^schmiede/faq $ /index.php?sec=schmiede&mp=faq [L]'index.php :' ', $ _ GET ['mp '];'작동하는지 알려주십시오. 그렇지 않으면; .htaccess 파일에 다른 규칙이 있습니까? – user3360311

+0

예, 작동합니다. 하지만 당신이 필요로하지 않는다고 생각합니다. 좋은 URL을 만들고 싶습니다. 그래서 내 브라우저 URL에 http : // www/index.php? sec = schmiede & mp = faq가 있고 http : // www/schmiede/faq/...를 원합니다. . 도움을 주셔서 감사합니다 – Markus