
규칙을 활용하여 .htaccess
도메인과 파일 경로가 모두 기준과 일치하는 경우 프런트엔드 URL을 변경하지 않은 채 하위 디렉터리 내에서 파일을 로드하려고 합니다.
URL 예:
example.com/specificfile.xml
파일 자체는 공개 웹 루트가 아닌 하위 디렉터리 내에 있습니다.
/var/www/feeds/specificfile.xml
Google에서 이것을 시도하는 동안 많은 결과를 얻었 RewriteBase
지만 그것이 내가 추구하는 것이 아닙니다. 단일 파일에 대해서만 "기본 디렉터리를 다시 작성"하고 프런트엔드 URL을 유지해야 합니다.
답변1
/var/www
문서 루트라고 가정 하고 /feeds/specificfile.xml
요청할 때 서비스를 제공하려면 /specificfile.xml
루트 .htaccess
파일에서 mod_rewrite를 사용하여 다음을 수행합니다.
RewriteRule ^specificfile\.xml$ feeds/$0 [L]
이것이 작동하려면 RewriteBase
전혀 설정하지 않거나(바람직함) 로 설정해야 합니다 RewriteBase /
.
역 $0
참조는 단순히 반복을 저장합니다. 즉, 역참조는 일치하는 전체 URL 경로를 참조합니다.RewriteRule
무늬, 즉. specificfile.xml
.
.htaccess
파일 에 기존 mod_rewrite 지시어가 있는 경우순서 문제. (예: 외부/표준 리디렉션이 먼저 이루어져야 합니다.)