【发布时间】:2017-10-14 12:54:29
【问题描述】:
我需要将新的 Laravel 应用添加到现有的 Wordpress 网站。两者都将通过 Apache 网络服务器运行。这个想法是:
-
https://website.com/-> WordPress 网站 -
https://website.com/laravelapp-> Laravel 网络应用程序
在文件系统中,根文件夹包含 Wordpress 文件,子文件夹 laravelapp 包含 Laravel 文件(因此,laravel public 文件夹是 laravelapp 的子文件夹)。
当我浏览这些时,这是当前返回的结果:
-
https://website.com/-> 返回 Wordpress 网站,并带有有效的永久链接 -
https://website.com/laravelapp-> 返回 403 错误 -
https://website.com/laravelapp/public-> 返回 Laravel 应用
这表明 mod_rewrite 可用并且可以正常工作。但我希望用户能够只使用 https://website.com/laravelapp 访问该 laravel 应用程序(而不是公用文件夹)。
我一直在尝试设置.htaccess 以使这种安排成为可能,但我遇到了困难。我目前有:
-
.htaccess位于网站根目录# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^/laravelapp [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress -
.htaccess在laravelapp文件夹上<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /laravelapp/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ public/$1 [L] </IfModule> ``` laravelapp/public文件夹上的.htaccess包含来自分发包的标准 laravel .htaccess 文件。
有什么办法可以做到吗?
【问题讨论】:
-
是否可以在子域上设置您的 laravel 应用程序?
-
不幸的是子域不是一个选项:(
标签: wordpress apache laravel .htaccess