Laravel 共享主机 .htaccess

Bre*_*ent 4 php apache .htaccess mod-rewrite laravel

我正在尝试将 Laravel 项目部署到共享主机上,我设法完成了大部分艰苦的工作,但我无法在没有禁止问题的情况下剥离 /public 目录。

该网站工作并显示这些链接的相同页面

  • www.mywebsite.com/test/index.php
  • www.mywebsite.com/test/public/

但没有 /index.php 它返回 - >

Forbidden

You don't have permission to access /test/ on this server. 
Run Code Online (Sandbox Code Playgroud)

目前我的 .htaccess 如下所示。

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ public/index.php [L]

</IfModule>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

The*_*Guy 18

这是我使用的魔术脚本(添加到.htaccessin public_html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

  • 如果在 Web 服务器上它不起作用,则添加 RewriteBase,如下所示 `RewriteEngine On RewriteBase / RewriteRule ^(.*)$ public/$1 [L]` (3认同)

anu*_*ava 7

试试这个规则test/.htaccess

DirectoryIndex index.php
<IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /test/

    RewriteRule ^$ public/index.php [L]

    RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

</IfModule>
Run Code Online (Sandbox Code Playgroud)