从共享主机上的URL Laravel 5.3中删除公共 [英] Remove public from URL Laravel 5.3 on shared hosting
问题描述
我在以下地址的共享主机上有Laravel 5.3项目:
I have Laravel 5.3 project on shared hosting located at the following address:
www.mydomain.tld/laravel/public/
www.mydomain.tld/laravel/public/
如何从网址中删除公开"?
How to remove "public" from URL?
www.mydomain.tld/laravel/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
www.mydomain.tld/laravel/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
推荐答案
第一步非常简单,您只需重命名文件名即可.您必须在laravel根目录下将server.php重命名为index.php.
In first step it is very easy and you need to just rename file name. you have to rename server.php to index.php at your laravel root directory.
第二,您必须复制.htaccess文件并将其放入laravel根文件夹.您只需从公用文件夹中复制.htaccess文件,然后更新以下代码:
Second l you have to copy .htaccess file and put it laravel root folder. You just copy .htaccess file from public folder and then update bellow code:
选项-MultiViews-索引
Options -MultiViews -Indexes
RewriteEngine开启
RewriteEngine On
RewriteCond%{HTTP:Authorization}.
RewriteCond %{HTTP:Authorization} .
RewriteRule.*-[E = HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond%{REQUEST_URI}(.+)/$
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^%1 [L,R = 301]
RewriteRule ^ %1 [L,R=301]
RewriteCond%{REQUEST_URI}!(.css | .js | .png | .jpg | .gif | robots.txt)$ [NC]
RewriteCond %{REQUEST_URI} !(.css|.js|.png|.jpg|.gif|robots.txt)$ [NC]
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteRule ^ index.php [L]
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond%{REQUEST_URI}!^/public/
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css | js | images)/(.*)$ public/$ 1/$ 2 [L,NC]
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
这篇关于从共享主机上的URL Laravel 5.3中删除公共的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!