【发布时间】:2013-04-17 15:50:10
【问题描述】:
我不知道这样的事情是否可行,但让我们试一试。在过去(三年多前),我在一个 MVC 教程中了解了这样的解决方案(不知道具体是怎样的)。
目录结构
- WebRoot/
- 包括/
- 配置/
- 公开/
- 图片/
- js/
- css/
- index.php
- init.php
我想做的是
当用户访问http://www.mysite.com/a/b/c/时,将所有请求重定向到/public/index.php页面。即,所有对网站的请求都将通过/public/index.php页面,除了images/、js/和css/目录,它们在public/中。
另外,http://www.mysite.com/includes/ 将重定向到index.php 页面,并将includes/ 获取为$query。
Index.php 页面
<?php
// get init file from webroot directory, which will load all required php files.
define ('ROOT', dirname(dirname(__FILE__)));
require_once (ROOT . 'init.php');
// get query from url (here, $query = "a/b/c/")
if(isset($_GET['q'])) {
$query = $_GET['q'];
}
// insert images, css etc. resource
echo "<img src='http://www.mysite.com/images/foo.jpg' />";
echo "<script src='http://www.mysite.com/js/bar.js'></script>";
?>
这对于使用 web 托管的人来说很有用,它不提供对 webroot 的一步目录访问。
编辑
好的,我找到了获得这个概念的网站。请参阅根目录和公共目录中使用的两个 .htaccess 文件。 Link to MVC tutorial
【问题讨论】:
-
@faa 是的
/config以及public/之外的所有其他内容。