我不经常在SOF上提问,因为我通常只是在SOF上搜索才能找到答案。这次对我来说是艰难的!我没有htaccess的丰富经验。实际上,我没有太多经验,现在要放学6个月!
我正在使用Wordpress 4.9.8和Laravel 5.7进行个人项目。 将使用Wordpress作为切入点和文章部分,将使用Laravel作为应用程序部分来显示来自数据库的大量信息。
我正在使用Xampp和MySql Workbench进行本地开发。
我正在使用虚拟主机来模拟域名。
项目的结构在根文件夹中如下所示:
项目URL如下:
我只需要隐藏URL的“公共” 文件夹,并且仍然可以访问该目录。 到目前为止,我可以使用htaccess直接跳过Laravel的根文件夹进行重定向。
尝试了我发现的所有有意义的事情并且不确定确切的放置位置之后,我似乎无法将手指放在上面。在项目的根目录还是该部分的公共目录中?
这是我在项目根目录中的内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{REQUEST_URI} ^/plantes [NC]
RewriteRule . plantes/public [L]
</IfModule>
我在公用文件夹中有什么
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
-- Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-- Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
-- Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
感谢您的帮助或提示!
答案 0 :(得分:0)
尝试了一些在SOF和其他地方找到的解决方案而没有获得任何成功之后,我转过头来回顾我构造项目的方式,看看是否还有其他更简单的方法可以在没有htaccess的情况下进行此操作。
这是新结构:
为此,我们需要更改公用文件夹中index.php中的某些引用以反映新结构。
Index.php:
那是...有效!
www.domain.com/myapp/无论如何...
没有URL并带有公用文件夹。
现在,我将需要更改“ MyApp”的名称,以便它可以使用htaccess反映多种语言。
在搜索过程中,我发现这很有帮助:https://www.youtube.com/watch?v=ybJYyU5FPv4