gpt4 book ai didi

wordpress - htaccess 中的 Apache RewriteRule - 路由已损坏

转载 作者:行者123 更新时间:2023-12-04 04:36:40 26 4
gpt4 key购买 nike

我有一个简单的结构:

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 路由没有解决:

No route found for "GET /"



有什么简单的解决方案吗?

最佳答案

此解决方案需要 ssh 访问权限。

放弃所有基于 htaccess 规则的解决方案。尝试使用符号链接(symbolic link) ln -s 命令

这里最好的想法是将每个项目放在您的域指向的单独文件夹 otuside 文件夹中(我们在这里将其命名为 public_html)

ROOT
|
-[Symfony]
-[WP]
-[public_html] (folder where your domain is pointing)

现在
- 删除 public_html
- 添加符号链接(symbolic link)到 wp(公共(public) html 的名称)
- 包括 wp 创建到 symfony/web 的符号链接(symbolic link)
ROOT
|
-[Symfony]
-[WP]
-- [app] (symbolic link to symfony/web)
-[public_html] (symbolic link to WP )

作为替代方案,我认为可能是将请求从 symfony 重定向到 wp,然后将 wp 响应推送给用户(来自 symfony)。我见过这样的解决方案(当您在旧系统之上构建新应用程序时使用它)。但这比符号链接(symbolic link)更成问题(你可以在这里看到这个想法 https://www.enotogorsk.ru/en/2014/07/22/symfony-legacy-bridge/ )

关于wordpress - htaccess 中的 Apache RewriteRule - 路由已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com