我如何在 CWP (Centos-Web-Panel) 中使用 laravel 网站。 url 中没有 public 文件夹?
how can i use laravel website in CWP (Centos-Web-Panel). without public folder in url?
你好,我想更改我网站的根目录,服务器面板是 CWP centos-web-panel
。我找到了一个解决方案,上面写着 change DocumentRoot
and directory
in httpd.conf
但我无法更改它,因为我的很多网站都使用此服务器。我想更改我的一个网站中的根文件夹。
另外,我找到了另一个解决方案,它说编辑文件。
# nano /etc/httpd/conf.d/your_site.conf
并将此代码添加到文件
<VirtualHost *:80>
DocumentRoot /var/www/html/your_site/public
ServerName your_domain
<Directory /var/www/html/your_site/>
AllowOverride All
</Directory>
</VirtualHost>
但不工作。
我该怎么做?
有什么解决方案吗?.htaccess
或自己的 laravel
模板?
所以我想在centos-web-panel
中将/public_html/
更改为/public_html/public/
我使用 Nginx
在.htaccess 中添加这段代码
重写引擎开启
RewriteRule ^(.*)$ public/ [L]
并将 index.php 文件复制到根文件夹并按照步骤操作
https://hellocoding.wordpress.com/2014/05/17/how-to-remove-public-from-url-in-laravel/
https://hdtuto.com/article/laravel-remove-public-from-url-using-htaccess
您需要执行以下操作以在 URL
中指向没有 public 的应用程序:
将 server.php 重命名为 index.php
并从 public 文件夹复制 .htaccess
文件并将其粘贴到 index.php
(之前是 server.php
)
要隐藏您的 .env
文件,您需要在 .htaccess
文件中添加以下行
# Disable index view
Options -Indexes
# Hide a specific file
<Files .env>
Order allow,deny
Deny from all
</Files>
我更喜欢这个答案。哪个更安全。无需重定向。
在 public_html 或 foldername
中创建一个文件夹,然后将所有文件和文件夹从 public_html
移动到 foldername
,然后将所有文件和文件夹从 public
移动laravel 文件夹到 public_html
打开 index.php
并像这样编辑它。
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
至
require __DIR__.'/foldername/vendor/autoload.php';
$app = require_once __DIR__.'/foldername/bootstrap/app.php';
然后用 .htaccess
隐藏 .env
文件
完成
如果您可以访问 ssh
删除 public_html 文件夹
rm -rf public_html/
创建指向 public 文件夹 (laravel) 的快捷方式,我们将把 laravel 放在同一级别 public_html
ln -s laravel/public public_html
现在完成了
转到:
WebServer Settings -> Conf Editor -> Apache -> /usr/local/apache/conf.d/vhosts/
搜索 mydomain.ssl.conf & mydomain.conf 然后点击 编辑
搜索 DocumentRoot 并更改它
发件人:
DocumentRoot /home/username/public_html
收件人:
DocumentRoot /home/username/public_html/public
之后别忘了重启 Apache。
完成
你好,我想更改我网站的根目录,服务器面板是 CWP centos-web-panel
。我找到了一个解决方案,上面写着 change DocumentRoot
and directory
in httpd.conf
但我无法更改它,因为我的很多网站都使用此服务器。我想更改我的一个网站中的根文件夹。
另外,我找到了另一个解决方案,它说编辑文件。
# nano /etc/httpd/conf.d/your_site.conf
并将此代码添加到文件
<VirtualHost *:80>
DocumentRoot /var/www/html/your_site/public
ServerName your_domain
<Directory /var/www/html/your_site/>
AllowOverride All
</Directory>
</VirtualHost>
但不工作。
我该怎么做?
有什么解决方案吗?.htaccess
或自己的 laravel
模板?
所以我想在centos-web-panel
中将/public_html/
更改为/public_html/public/
我使用 Nginx
在.htaccess 中添加这段代码
重写引擎开启
RewriteRule ^(.*)$ public/ [L]
并将 index.php 文件复制到根文件夹并按照步骤操作 https://hellocoding.wordpress.com/2014/05/17/how-to-remove-public-from-url-in-laravel/ https://hdtuto.com/article/laravel-remove-public-from-url-using-htaccess
您需要执行以下操作以在 URL
中指向没有 public 的应用程序:
将 server.php 重命名为 index.php
并从 public 文件夹复制 .htaccess
文件并将其粘贴到 index.php
(之前是 server.php
)
要隐藏您的 .env
文件,您需要在 .htaccess
文件中添加以下行
# Disable index view
Options -Indexes
# Hide a specific file
<Files .env>
Order allow,deny
Deny from all
</Files>
我更喜欢这个答案。哪个更安全。无需重定向。
在 public_html 或 foldername
中创建一个文件夹,然后将所有文件和文件夹从 public_html
移动到 foldername
,然后将所有文件和文件夹从 public
移动laravel 文件夹到 public_html
打开 index.php
并像这样编辑它。
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
至
require __DIR__.'/foldername/vendor/autoload.php';
$app = require_once __DIR__.'/foldername/bootstrap/app.php';
然后用 .htaccess
.env
文件
完成
如果您可以访问 ssh 删除 public_html 文件夹 rm -rf public_html/ 创建指向 public 文件夹 (laravel) 的快捷方式,我们将把 laravel 放在同一级别 public_html ln -s laravel/public public_html 现在完成了
转到:
WebServer Settings -> Conf Editor -> Apache -> /usr/local/apache/conf.d/vhosts/
搜索 mydomain.ssl.conf & mydomain.conf 然后点击 编辑
搜索 DocumentRoot 并更改它
发件人:
DocumentRoot /home/username/public_html
收件人:
DocumentRoot /home/username/public_html/public
之后别忘了重启 Apache。
完成