Bellow是我的网站目录结构:

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

我不希望直接访问该文件中的任何文件src目录。src包含我的模板和后端逻辑脚本。

我想设置我的.htaccess因此,当用户访问我的网站时(根文件夹My-Project),他们被重定向到My-Project/public/index.php。我希望URL看起来像My-Project.com在索引页面上。

有帮助吗?我犹豫不决地修改了我的.htaccess文件,因为我在这里和网上看到了许多相互冲突的建议,以实现这一目的。

答案

将此代码放在/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]

来自: stackoverflow.com