.htaccess 구성 문제

.htaccess 구성 문제

저는 하나의 도메인에서 www.example.com & www.example.com/site2와 같은 두 개의 웹사이트를 사용하고 있습니다. 내 사이트2, 내 사이트2에는 폴더 이름이 2개 폴더1이고 폴더2가 있다는 것을 알고 싶습니다. 내 index.php는 폴더2에 있지만 폴더2에 정의된 메서드 정의는 .htaccess를 통해 파일을 포함하고 있지만 가져올 수 없습니다. 폴더1에 있고 브라우저에서 오류 500 및 400이 발생하는 파일이 있는데 다음 줄을 사용하고 있지만 .htaccess 파일에서는 작동하지 않습니다.

아래 줄은 잘 작동합니다

RedirectMatch ^/$ http://www.example.com.pk/site2/views/

AllowOverride All
php_value include_path ".:/home/example/public_html/site2/system"

답변1

PHP에서 사용할 메소드와 클래스를 포함하려고 하시나요? 그렇다면 아마도 다음을 사용하고 싶을 것입니다.include() 또는 require() 함수Apache를 통해 수행하는 대신 PHP 코드 내에서 수행하십시오.

귀하의 질문에서 귀하가 달성하려는 목표가 정확히 무엇인지 알 수 없습니다. 포함에 Apache를 사용해야 하는 경우 질문을 확장하여 자세한 내용을 제공하십시오.

답변2

또한 현재 .htaccess 파일에는 파일이 포함되지 않으며 PHP가 사용하는 포함 경로만 설정됩니다. 다음 파일 트리를 상상해 보세요.

root
| - a
|   |- myphp.php
| - b
|   |- myinclude.extension

PHP 파일 myphp.php에 포함할 때 일반적으로 다음을 수행합니다.

<?php include('../b/myinclude.extension'); ?>

하지만 설정 후

AllowOverride All php_value include_path "root/b/"

당신은 입력하기 만하면됩니다

<?php include('myinclude.extension'); ?>

하지만 그건 사실 큰 차이를 가져오지 않죠? php.net 페이지에서 include, require 및 include_once, require_once에 대해 읽어보세요.

관련 정보