WordPress项目旁边的Laravel项目(在public_html文件夹中) [英] Laravel project next to Wordpress project (in public_html folder)
问题描述
我的 public_html 文件夹中有 Laravel 项目。域名例如 domain.com 我的.htaccess文件(在public_html文件夹中)是这样的:
I have a Laravel project in my public_html folder. The domain is for example domain.com My .htaccess file (in public_html folder) is like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
有以下路线:
- api / licenseplate
- api / calendar
- auth / login
- admin / settings
- admin / appointmentments
- 预约
- ...
- api/licenseplate
- api/calendar
- auth/login
- admin/settings
- admin/appointments
- appointment
- ...
所以网址的示例是 http://domain.com/appointment 。
So an example of a URL is http://domain.com/appointment.
现在我想在domain.com上有一个wordpress网站。因此,当您访问domain.com时,您会看到wordpress网站。但是我也希望得到像我的laravel项目/ @约会的网址。
Now I would like to have a wordpress website on domain.com. So when you go to domain.com you see the wordpress website. But I also want to have the urls like /appointment of my laravel project.
最简单,最干净的方法是什么?
What's the easiest and cleanest way to do this?
推荐答案
您可以在Laravel文件夹中创建符号链接到Wordpress公共目录。例如, wp
:
You can create symlink to Wordpress public directory in Laravel folder. For example, wp
:
/var
/www
/laravel
/public
/wp #(symlink to -> /var/www/wordpress/public_html)
index.php
.htaccess
/wordpress
/public_html
index.php
.htaccess
并在.htaccess中描述Laravel路线。代码示例 /var/www/laravel/public/.htaccess
:
And describe Laravel routes in .htaccess. Example of code of /var/www/laravel/public/.htaccess
:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{ENV:REDIRECT_FINISH} .
RewriteRule ^ - [L]
# Laravel
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} !.*\.php$
RewriteRule ^(.*)$ $1 [E=FINISH:1,L]
RewriteCond %{REQUEST_URI} ^/(api/licenseplate)(\?.*|$) [OR]
RewriteCond %{REQUEST_URI} ^/(api/calendar)(\?.*|$) [OR]
RewriteCond %{REQUEST_URI} ^/(admin/settings)(\?.*|$) [OR]
RewriteCond %{REQUEST_URI} ^/(admin/appointments)(\?.*|$) [OR]
RewriteCond %{REQUEST_URI} ^/(appointment)(\?.*|$) [OR]
RewriteCond %{REQUEST_URI} ^/(auth/login)(\?.*|$)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [E=FINISH:1,L]
# Wordpress
RewriteCond %{REQUEST_URI} !^/wp
RewriteRule ^(.*)$ /wp/$1 [E=FINISH:1,L]
</IfModule>
代码 /var/www/wordpress/public_html/.htaccess
(只是你的wordpress .htaccess的副本):
Code of /var/www/wordpress/public_html/.htaccess
(just copy of your wordpress .htaccess):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这篇关于WordPress项目旁边的Laravel项目(在public_html文件夹中)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!