嗨,我想重定向www.domain.com/folder/*使用Apache的.htaccess到www.domain.com/folder/public/* (Apache的v 2.2.27)的.htaccess重定向,而不是重写
我已经写了下面的内容,但它重定向,而不是重写(这里重定向正确,就像www.domain.com/folder/login显示网页www.domain.com/folder/public/login)
.htaccess文件置于文件夹文件夹低于
AddType application/x-httpd-php70 .php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ /folder/public/$1 [L,R=301]
</IfModule>
如果我删除标志R = 301,并只保留L, 那么URL www.domain.com/folder会搜索此www.domain.com/folder/public/ 文件夹,我不知道为什么?
我使用这个作为我的laravel的根.htaccess文件5.3项目删除公共文件夹,但我认为在公用文件夹内的.htaccess文件是给这个冲突。在公共文件夹内
.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 ^(.*)/$ /folder/public/$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>
什么是我做错了吗?
感谢发布。这没有找到路线(404)。可能是因为当我们说www.domain.com/folder时,它会查找www.domain.com/folder/public/folder这是不正确的(我不知道为什么),但是这应该查找www.domain.com/folder /上市。 – crazy1337
仍然是同样的问题。 :(不知道为什么它搜索公共文件夹本身的当前url路径 – crazy1337
嗯,我不能在这里分享网址(这是在现场设置)。但是当我打电话/文件夹,然后它加载/公共/文件夹路线或当我们调用/文件夹/登录它调用/ public/folder/login – crazy1337