【发布时间】:2017-06-28 17:16:58
【问题描述】:
我在共享主机上有 Laravel 5.3 项目,位于以下地址:
www.mydomain.tld/laravel/public/
如何从 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}]
【问题讨论】:
-
在 apache.conf 文件中将公用文件夹设为主机的根目录,如果您正在运行 linux,则设为 000-default.conf
-
我同意@Divyank。有时,主机提供商会提供后台来管理您的虚拟主机,因此您可以将您的
domain.tld/public读取为domain.tld/。我个人使用最后一种方法,因为这取决于我的主机提供商来处理特定的服务器文件以执行此重定向。 -
这是生产应用程序,管理用户可以使用的完全在线应用程序。我无法更改 apache.conf 文件,因为我的网站位于根位置 (www.mydomain.tld)
-
好的,在我的本地检查后,我会在下面放一个解决方案
-
我在这里问了稍微不同版本的问题stackoverflow.com/questions/64305191/…
标签: php .htaccess laravel laravel-5.3