반응형
htaccess의 Apache Rewrite Rule - 루트가 끊어졌습니다.
간단한 구조를 가지고 있습니다.
Root
|-- [app] (Symfony Application)
| |-- [app]
| |-- [bin]
| |-- [src]
| |-- [vendor]
| |-- [web]
| |-- .htaccess (Symfony htaccess)
|
|-- [wp-admin]
|-- [wp-content]
|-- [wp-include]
|-- .htaccess (Root htaccess)
다음 매핑이 필요합니다.
http://example.com ==> Wordpress
http://example.com/app ==> Symfony Application
여기 있습니다.
루트 htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^app(.*)$ app/web/$1 [L,QSA]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Symfony htaccess:
DirectoryIndex app.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/app.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
문제:
문제는 Symfony 루트가 해결되지 않는다는 것입니다.
"GET /"에 대한 경로를 찾을 수 없습니다.
이에 대한 간단한 해결책은 없나요?
이 솔루션에는 ssh 액세스가 필요합니다.
htaccess 규칙에 따라 모든 솔루션을 포기합니다.ln -s 명령 대신 심볼릭 링크 사용 시도
여기서 가장 좋은 방법은 각 프로젝트를 도메인이 가리키는 별도의 폴더(여기서 public_html로 명명)에 넣는 것입니다.
ROOT
|
-[Symfony]
-[WP]
-[public_html] (folder where your domain is pointing)
이제 - public_link 삭제 - wp에 심볼릭 링크 추가 (public html 이름 포함) - include wp create symbolic link to symbolic fony/web
ROOT
|
-[Symfony]
-[WP]
-- [app] (symbolic link to symfony/web)
-[public_html] (symbolic link to WP )
다른 방법으로는 symfony에서 wp로 요청을 리다이렉트한 후 wp 응답을 사용자에게 푸시하는 것이 가능하다고 생각합니다.이런 솔루션을 보았습니다(기존 시스템 위에 새로운 앱을 빌드할 때 사용).그러나 이것은 심볼릭 링크보다 더 문제가 있습니다(여기서 아이디어를 볼 수 있습니다).https://www.enotogorsk.ru/en/2014/07/22/symfony-legacy-bridge/)
언급URL : https://stackoverflow.com/questions/48241213/apache-rewriterule-in-htaccess-routes-are-broken
반응형
'source' 카테고리의 다른 글
GSON을 사용하여 목록을 JSON 개체로 변환하는 방법 (0) | 2023.03.22 |
---|---|
게시물의 URL 접두사 WordPress (0) | 2023.03.22 |
WordPress의 CSS 배경 이미지 (0) | 2023.03.22 |
local스토리지 vs session스토리지 vs 쿠키 (0) | 2023.03.22 |
Respect Router v4 루트가 작동하지 않음 (0) | 2023.03.22 |