Har*_*osh 7 wordpress .htaccess mod-rewrite laravel
我安装了wordpress:
example.com
Run Code Online (Sandbox Code Playgroud)
和laravel / public目录(可从api.example.com访问)
example.com/api
Run Code Online (Sandbox Code Playgroud)
如何访问一个laravel路线说/play
从example.com/play
目前我有这个example.com/play/play显示正确的laravel路线,但我需要它上升一个级别.
在/ home/public_html/play中设置 index.php
require __DIR__.'/../../laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../../laravel/bootstrap/app.php';
Run Code Online (Sandbox Code Playgroud)
这正确地指向了/home/laravel例如
那么路线文件是
Route::group(['prefix' => 'play'], function () {
Route::get('/', ['as'=>'/', 'uses'=>'Controller@play']);
});
Run Code Online (Sandbox Code Playgroud)
我已经添加RewriteCond %{REQUEST_URI} !^/(play/.*)$到根.htaccess所以wordpress不会接管.
最后这就是我遇到问题的地方:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /play/index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
位于 /home/public_html/play
那么我如何在/ play目录中展示laravel路线?这可以通过重写来实现吗?我可以将参数传递给laravel以告诉它以root身份开始/播放吗?
当您有多个应用程序想要从单个域访问它时,最好的实现是为每个应用程序启动不同的服务器。您可以设置从主应用程序到其他应用程序的代理。
您可以使用如下设置为您的 laravel 应用程序启动 apache2 服务器
<VirtualHost 0.0.0.0:8080>
DocumentRoot "path-to-laravel-app"
<Directory "path-to-laravel-app">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后在你的 WordPress 应用程序文件中设置代理,.htaccess如下所示
ProxyPass "/play" "http://locahost:8080/play"
ProxyPassReverse "/play" "http://locahost:8080/play"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |