从共享主机上的URL Laravel 5.3中删除公共 [英] Remove public from URL Laravel 5.3 on shared hosting

查看:40
本文介绍了从共享主机上的URL Laravel 5.3中删除公共的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在以下地址的共享主机上有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆