使用.htaccess设置文档根目录而不会重复

时间:2019-06-27 08:54:54

标签: laravel apache .htaccess document-root

我有一个Web项目,其中有public目录,其中包含index.php.htaccess以及一些CSS,JS,图标,图像等。每次有新客户端出现时,我必须将Document-Root设置为公共目录,但这有时会出现问题。无论如何,我决定不再需要将Document-Root设置为公共目录,而是在项目的根目录中添加另一个.htaccess并将所有流量重定向到public/index.php。但是我找不到解决方案,因为每个站点都重复到两个URL。例如。 https://example.com/articleshttps://example.com/public/articles是同一页面。

我尝试了很多在网上找到的解决方案,但是都没有解决我的问题的方法。我事件试图将另一个index.php添加到根目录,并在其中包含public / index.php,但是没有运气。

在我的根目录的.htaccess中,我具有以下内容:

RewriteEngine on
RewriteCond ^(.*)$ public%{REQUEST_URI} [L,NC,QSA]

在公共目录的.htaccess中,我有:

Options -MultiViews -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

我需要完成https://example.com/articleshttps://example.com/public/articles是两个不同的站点。但是同时,我不想破坏将Document-Root设置为公共目录的现有网站。

此配置还有另一个缺陷-在项目根目录中,我的目录为src,当我转到https://example.com/src时,我被重定向到https://example.com/public/src。但这不是我想要的-我需要它停留在https://example.com/src上并尝试使用URL src加载页面。

有什么办法可以做到这一点?感谢您的提示。

0 个答案:

没有答案