【发布时间】:2014-07-01 09:25:12
【问题描述】:
下面是我的站点目录结构:
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 文件时犹豫不决,因为我在这里和网上看到了很多相互矛盾的建议,关于最好的方法。
【问题讨论】:
-
为什么首先需要一个公共目录?
-
如果您在共享主机上,那么做您想做的事情的唯一方法就是通过 .htaccess。如果您有 VPS,则可以使用托管设置将服务器指向该公用文件夹。
-
@AndrewBarber:我想对它没有要求,我只是想尽可能地保持我的前端和逻辑代码分开,这种结构有助于我保持井井有条。不过,我愿意接受建议,我是大型 PHP 项目的新手 :)
-
嗯,通常期望站点的根目录是“公共”部分。但是,如果您有根本不想通过请求访问的代码,它应该完全不在网络目录中,正如@CheckeredMichael 所指出的那样。
-
@CheckeredMichael:是的共享主机。我知道我需要通过
.htaccess来完成它我只是不确定哪些命令可以完成我需要的两件事。我是否需要根目录中的 .htaccess 来重定向到 /public/ 文件夹,然后在 /public/ 中使用另一个来格式化 URL?
标签: php regex apache .htaccess mod-rewrite