繁体   English   中英

Laravel重新路由子文件夹.htaccess

[英]Laravel reroute subfolder .htaccess

我需要将Laravel项目部署到域子文件夹。 我已经将文件放在正确的位置,即,与public_html文件夹处于同一级别的项目文件夹,并且已经将public文件夹的内容复制到public_html (嗯,我创建了一个symlink来说明事实)。

我只有一个问题:

如果转到my-domain.com/proj-name ,则可以看到主页,而没有任何问题。
但是,当我进入项目页面my-domain.com/proj-name/about (例如)时,我得到404 Not Found: The requested URL /proj-name/about was not found on this server.

我认为解决方案是在.htaccess上编辑RewriteRule,以便当我浏览到my-domain.com/proj-name/about ,它会删除proj-name就像试图访问my-domain.com/about

我怎样才能做到这一点?

这是我当前的.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}]
</IfModule>

您应该执行以下操作:

RewriteCond %{REQUEST_URI} !^/proj-name/
RewriteRule ^(.*)$ proj-name/$1 [L]

注:以上应该在.htaccess位于public_html ,而不是在public_html/proj_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM