2016-09-14 2 views
1
Redirect 302 "/blog"/
나는이 규칙이 /blog에서 //blog/stuff / 요청을 기대

; 대신 /blog/stuff//stuff-/blog/stuff에서가는 동작 Apache htaccess Redirect - 큰 따옴표로 묶인 요청 문자열이 찾기 및 바꾸기 동작하는 이유는 무엇입니까?

//stuff의 나는 무슨 일이 일어나고 있는지 닫히지 않은 정규식

에서 무엇을 기대합니까? 리디렉션이 다른 URL로 리디렉션되어 대상 문자열과 일치하지 않는 것으로 생각했습니다.

하나의 지시어가 한 가지를하는 이유는 무엇입니까?

답변

1

Redirect 지시문에 예상대로 따옴표가 작동하지 않습니다. 구문의 경우 :

Redirect [status] [URL-path] URL 

는 [...]
는 다음 URL 경로로 시작하는 요청은 대상 URL의 위치에서 클라이언트에 리디렉션 요청을 반환합니다. 일치하는 URL 경로 이외의 경로 정보가 대상 URL에 추가됩니다.

아마도 RedirectMatch 지시어를 찾고있을 것입니다.

RedirectMatch 302 /blog.*/

인용 된 패턴/경로 (공간)를 포함하는 경로를 동봉하는 것이 가능 단지 문법적이다.

+0

요청 인수로 match regex를 리디렉션하지 않습니까? – ahnbizcad

+0

@ahnbizcad 예, 있습니다. 어느 것이'/ blog ....'모든 것을'/'로 대체 할 것인가? /' – hjpotter92

+0

''/ blog'에서만 트리거하고 싶습니다. '/ blog' 다음에 물건이 있다면, 나는 그걸 방아쇠를 당길 원하지 않습니다. 그리고 나는 그것을 대체하기를 원하지 않는다. 나는 단지 상대 URL로 가기를 바란다. 그래서'RedirectMatch 302 ^/blog $'가 작동할까요? 나는 그것이 시험 할 때 작동하지 않는다고 확신했다. 어쩌면 내가 틀렸어. – ahnbizcad