Apache mod_rewrite를 사용하여 전체 디렉토리를 다시 쓰는 방법은 무엇입니까?

Apache mod_rewrite를 사용하여 전체 디렉토리를 다시 쓰는 방법은 무엇입니까?

make/lores/some/가리키거나 매핑하려면 이 URL/디렉토리가 필요합니다. 또한 확장 프로그램을 login/ 다시 작성해야 합니다..php.html

클라이언트가 example.com/make/lores/some/login.html서버에 입력할 때여야 합니다 process example.com/login/login.php.

다음과 같은 규칙이 있지만 문제는 로그인 디렉터리 아래의 다른 파일(예: /login/images/one.png등)이 처리/다시 작성되지 않아 결국 404 오류가 발생한다는 것입니다.

RewriteRule     ^(.*)\.htm$     login/index.php [NC]

답변1

어쩌면 다음과 같은 것일 수도 있습니다.

RewriteEngine on
RewriteRule   ^/make/lores/some/(.+)  http://example.com/login/$1      [R,L]

그러면 새 URL 다시 쓰기가 처리됩니다. .html확장자를 에서 으로 수정하려면 .php두 번째 규칙을 사용할 수 있습니다.

RewriteRule   ^/login/(.+)\.htm$      http://example.com/login/$1.php  [R,L]

인용하다

관련 정보