通常,我创建一个子域,并将文档根目录更改为公共文件夹,如public_html/subdomain/public
,因此当我访问https://subdomain.example.com时,它从公共文件夹运行,而无需在URL中添加公共路径。
现在,我在子域public_html/subdomain/subfolder
的子文件夹中有一个Laravel项目,我想从公共文件夹运行该项目以避免此https://subdomain.example.com/subfolder/public。
该网站托管在VPS服务器上,因此我可以访问所有内容。
如何使子域上的子文件夹上的项目从公共文件夹运行,而不将/public
添加到URL?
我试了一下.htaccess
:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
但它会将/public
附加到URL。
1条答案
按热度按时间xtfmy6hx1#
移动public_html/subdomain/subfolder中除public文件夹外的所有文件,并在public_html/subdomain/main新建一个文件夹,即
主要的
然后将所有文件移动到主文件夹,然后将所有文件和文件夹从public移动到public_html/subdomain/subfolder并编辑您的index.php,它将看起来像这样
你只需要编辑2行代码就可以了requireDIR**.'/../vendor/autoload.php';到需要DIR.'/../main/vendor/autoload.php';第二行来自$app = require_onceDIR.'/../bootstrap/app.php';to$app = require_onceDIR.'/../main/bootstrap/app.php';**您的文件夹结构应该类似于此public_html/subdomain