Laravel 应用程序中 public 文件夹的符号链接导致重定向
Symlink for public folder in Laravel application causes redirect
我在 VPS 上上传了一个 Laravel 5.5 应用程序。目录结构如下所示:
web
private
laravel
app
bootstrap
public
...
public
laravel
public (symlink)
.htaccess
我已经创建了从 private/laravel/public
目录到 public/laravel
的符号链接。一切正常,但 url 中的最后一个斜线有问题。
当我输入 'example.com/posts'
时没问题,但是当我输入 'example.com/posts/'
时,它会将我重定向到 'example.com/laravel/public/posts'
,工作内容为 'example.com/posts'
。
如何避免? url 应该像 'example.com/posts/'
.
.htaccess 在 web/public 目录中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^laravel/public
RewriteRule ^(.*)$ laravel/public/ [L]
</IfModule>
谢谢。
从 htacess 中删除尾部斜杠 url 处理。在项目的 htacess 中给定我的 laravel 更改重写规则如下
写为:
RewriteBase /root/laravel/public
重写规则 ^(.*)/$ $1 [L,R=301]
laravel 项目 public 文件夹中有一个默认的 .htaccess 文件,我不得不 删除以下三行 以停止尾部斜杠重定向:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
我在 VPS 上上传了一个 Laravel 5.5 应用程序。目录结构如下所示:
web
private
laravel
app
bootstrap
public
...
public
laravel
public (symlink)
.htaccess
我已经创建了从 private/laravel/public
目录到 public/laravel
的符号链接。一切正常,但 url 中的最后一个斜线有问题。
当我输入 'example.com/posts'
时没问题,但是当我输入 'example.com/posts/'
时,它会将我重定向到 'example.com/laravel/public/posts'
,工作内容为 'example.com/posts'
。
如何避免? url 应该像 'example.com/posts/'
.
.htaccess 在 web/public 目录中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^laravel/public
RewriteRule ^(.*)$ laravel/public/ [L]
</IfModule>
谢谢。
从 htacess 中删除尾部斜杠 url 处理。在项目的 htacess 中给定我的 laravel 更改重写规则如下 写为:
RewriteBase /root/laravel/public
重写规则 ^(.*)/$ $1 [L,R=301]
laravel 项目 public 文件夹中有一个默认的 .htaccess 文件,我不得不 删除以下三行 以停止尾部斜杠重定向:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]