我有一个大型的Laravel / VueJS应用程序。尽管还没有100%完成,但到目前为止,一切都按预期进行。此时,我唯一的问题是URL正在添加公用文件夹
mydoamin.com/public/the/rest/of/the/url
以及没有
mydoamin.com/the/rest/of/the/url
问题和答案 Avoid public folder of laravel and open directly the root in web server 没有太大的帮助。我相信这很简单,我在.htaccess文件中忘记了吗?
这是./rootfolder/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://myracediary.com/$1 [R,L]
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Google和其他搜索引擎已经抓取了这些URL,尽管我什至不知道它们的链接应该从何而来:
其他信息
尽管.htaccess文件在我的本地开发环境(LAMPP)和生产服务器(Centos 6,Apache)中相似,但实际上我在我的本地环境中使用了带有附加/public/
的路径来获取所需的404。文件夹,但不在生产环境中。
经过一番摸索,我发现带有附加公用文件夹的请求只是经过了根文件夹中的.htaccess文件。
我一直在尝试添加一个规则来重定向该公用文件夹中的.htaccess文件,如下所示:虽然没有成功
RewriteEngine On
# Handle redirects if public folder is defined
RewriteCond %{REQUEST_URI} ^public
RewriteRule ^public/(.*)$ https://myracediary.com/$1 [R=301,L]
答案 0 :(得分:1)
好的,我花了一些时间来了解整个过程,但这是我解决的方法:
DocumentRoot
从...myrootfolder
更改为...myrootfolder/public
,现在
避免完全打第一个.htaccess文件。结果:
尽管将带有公用文件夹的URL顺利重定向到没有URL的URL很好,但是当尝试打开混乱的URL时,我很高兴收到404错误。