2013-11-24 2 views
3

내가 원하는 것은 내 URL 섹션을 제거하는 것입니다. 가장 쉬운 방법이라고 생각합니다..htaccess 및 친숙한 URL 만들기

subdomain.domain.com/site/blog/$postTitle 

나는했습니다 : 나는 같은 것을 끝낼 것을

?action=viewArticle&url= 

를 따라서 :

subdomain.domain.com/site/blog/?action=viewArticle&url=$postTile 

내가 제거 할 :

이 내 URL이 현재 어떻게 보는가이다 아래에서 시도했지만 기쁨이 없었습니다.

RewriteEngine on 
RewriteRule ^subdomain.domain.com/site/bwc/(blog)/(.*)/$ /bwc/blog/?action=viewArticle&url=$2 

제발 도와주세요 - 내가 MOD_REWRITE를 활용할 필요가 있다고 생각하지만, 나는 그렇게 확신하지 못합니다. 또한 친숙한 URL도 연결할 수있는 솔루션이 필요합니다. .htaccess/apache가이 작업을 수행 할 수 있습니까?

답변

3
RewriteRule ^site/bwc/blog/(.*?)/$ site/blog/?action=viewArticle&url=$1 

그러나이 경우 점에 유의하여 URL 것이다 항상 무엇 재 작성 규칙이하는 일은 기본적으로 PHP의 str_replace URI에 켜져

일이에 대한 /로 종료해야합니다. 요청 URI에서 제공하는 정규 표현식을 실행하고 사용자가 지정한 대체 URI로 바꿉니다. 더 나은 이해를 위해서는 정규 표현식을 사용하는 것이 좋을 필요가 있습니다. (.*?)은 정규식의 캡처 그룹입니다. 캡처 그룹은 대체 문자열에서 $\d으로 액세스 할 수 있습니다. 여기서 \d은 패턴에서 캡처 그룹의 연속 번호가됩니다.

짧게 요약하면 정규식 패턴과 일치하는 요청을 보내면 가져올 것입니다. 바꾸기를 수행하고 입력 한 주소 대신 서버로 보냅니다.

+0

효과가있었습니다. 너는 천재 야. 정말 고맙습니다! – Jack

+0

그냥 명확하게 - 어떻게 작동합니까? 해당 코드 줄은 '/ blog /'다음에 나오는 것을 가져 와서 blog /? action = viewArticle & url = 끝에두고 결과를 다시 가져 오도록 서버에 알리는가? – Jack

+0

@Jack 나는 대답을 편집했다. 도움이되는지 확인하기. –