공용 파일에 "web"디렉토리가있는 silex를 사용하고 싶습니다. 내가 ./myInstallationPath/file.php가해야 파일을 요청하는 경우htaccess : silex/symfony 및 웹 디렉토리 리디렉션 사용
- :이 작업을 수행하는 htaccess로 스크립트를 가지고 싶습니다 그래서
-project --vendor ----silex ----... --web ----index.php --.htaccess
: 같은 구조는 볼 것이다 파일이 ./myInstallationPath/web/ 안에 있는지 확인하고, 그렇다면 내부로 리디렉션하십시오. 그렇지 않으면 내부 리다이렉트가되어야합니다 ./myInstallationPath/web/index.php
- ./myInstallationPath/web/을 요청하면 사용자가 "웹"을 볼 수 없도록 URL에서 "web /"을 제거해야합니다. 예배 규칙서. 그런 다음 위의 요점을 사용해야합니다. 프로젝트의 경로가 루트뿐만 아니라 하위 폴더가 될 수 있기 때문에
, 설치 경로는 다음과 같은 방법으로 같이 결정 수 :
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=INSTALLATION_ROUTE:%1]
를이 기존 코드 :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/%{ENV:INSTALLATION_ROUTE}web/$1 !-f [NC]
RewriteCond %{DOCUMENT_ROOT}/%{ENV:INSTALLATION_ROUTE}web/$1 !-d [NC]
RewriteRule (.*) %{ENV:INSTALLATION_ROUTE}web/index.php [L]
은
파일이 web/안에 존재하지 않는지 확인합니다. 그렇다면 index.php로 리디렉션됩니다. 요구 사항을 충족하기 위해 다른 규칙은 어떻게 표시되어야합니까?
을 사용하여 사이트에 액세스 할 수 있습니다. http.conf에 액세스 할 수 있으면 액세스 권한이 없지만 문서 루트를 변경하지 않아도됩니다. – user3631654
다음과 같이 생각됩니다. 유용한 정보 http://stackoverflow.com/a/20605956/3682741 – angeldelrio