我有一个Web项目,其中有public
目录,其中包含index.php
,.htaccess
以及一些CSS,JS,图标,图像等。每次有新客户端出现时,我必须将Document-Root设置为公共目录,但这有时会出现问题。无论如何,我决定不再需要将Document-Root设置为公共目录,而是在项目的根目录中添加另一个.htaccess
并将所有流量重定向到public/index.php
。但是我找不到解决方案,因为每个站点都重复到两个URL。例如。 https://example.com/articles
和https://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/articles
和https://example.com/public/articles
是两个不同的站点。但是同时,我不想破坏将Document-Root设置为公共目录的现有网站。
此配置还有另一个缺陷-在项目根目录中,我的目录为src
,当我转到https://example.com/src
时,我被重定向到https://example.com/public/src
。但这不是我想要的-我需要它停留在https://example.com/src
上并尝试使用URL src
加载页面。
有什么办法可以做到这一点?感谢您的提示。