.htaccess 从站点根目录重定向到公用文件夹,在 URL 中隐藏“公共”?

2022-08-30 16:17:43

波纹管是我的网站目录结构:

htdocs/
    My-Project/
        public/
            index.php
            css/
            img/
            js/
        src/
            config.php
            templates/
            library/

我不希望任何直接用户访问目录内的任何文件。 包含我的模板和后端逻辑脚本。srcsrc

我想设置我的,以便当用户转到我的网站(根文件夹)时,他们被重定向到。我希望URL在索引页上看起来就像这样。.htaccessMy-ProjectMy-Project/public/index.phpMy-Project.com

有什么帮助吗?我对修改我的.htaccess文件犹豫不决,因为我在这里和网络上看到很多关于执行此操作的最佳方法的相互矛盾的建议。


答案 1

将此代码放在 :/My-Project/.htaccess

RewriteEngine On
RewriteBase /My-Project/

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

答案 2

将以下内容添加到 .htaccess 的第一行

DirectoryIndex public/index.php public/index.html

推荐