클라이언트가 동일한 서버 하위 경로로 다른 리다이렉션을 처리하는 방법을 테스트하기 위해 VirtualHost 구성을 만들려고합니다. 그리고 앞으로도 더 많은 상태 코드 (예 : 307, 308 ...)를 포함 할 수 있도록 유연성을 유지하십시오.Apache VirtualHosts가 여러 개의 리디렉션을 테스트하는 방법
또한 원하는 기능은 적용되는 호스트 이름에 관계없이이 구성을 다시 사용하는 것입니다 (즉, 리디렉션은 모두 동일한 호스트 이름이지만 다른 포트/하위 경로에 있음). 그래서 Apache Redirects
지시어는 아마도 그 트릭을 수행하지 않을 것입니다.
Listen 301
Listen 302
<VirtualHost *:301>
RewriteEngine On
RewriteRule ^(.*)$ $1 [R=301,L]
</VirtualHost>
<VirtualHost *:302>
RewriteEngine On
RewriteRule ^(.*)$ $1 [R=302,L]
</VirtualHost>
<VirtualHost *:80>
[...]
</VirtualHost>
문제입니다 포트 아니오 :
내 첫번째 생각은 내가 테스트하고 그것을 위해 RewriteRule
를 보관하고 싶어하지 결과 HTTP 코드에 따라 2 개 개의 다른 인터페이스에서 수신이 명 별도의에서 VirtualHost 별도 만드는 것이 었습니다 . (즉, 301, 302)도 리다이렉트 된 URL의 일부가되어 유효 리디렉션이 일어나지 않습니다. 심지어 정규식 그룹의 외부에있는 포트를 떠나 보았습니다. ^(.*):302$
행운이 없습니다. 이 같은
당신이 달성하려고하는 무엇을 조금 불분명하다. 브라우저 주소창에 입력 된 정확한 URL과 원하는 도착 URL의 예를 들려 줄 수 있습니까? –
@DusanBajic yup; 미안해 내가 처음에 분명하지 않다면. 기본적으로 http : // : 301/whatever을 301 코드로 'http : // /whatever'으로 리디렉션하고 http : // 에'http : // : 302/무엇이든지 '로 리디렉션하고 싶습니다./무엇이든 '영구 경로 재 지정 (경로 유지 및 포트 번호 제거) –
Alfageme