【发布时间】:2012-09-22 11:49:03
【问题描述】:
我有一个具有以下文件夹结构(基本结构)的 php 网站。
- 项目名称
- 应用程序
- 控制器
- 型号
- 查看
- CSS
- js
- img
- index.php
- 应用程序
所以当我在 WAMP 中查看 index.php 时,网址是 http://localhost/project_name/
但是当我进入站点时(例如,位于视图文件夹下的 login.php),url 是这样的。 http://localhost/project_name/app/view/login.php
我发现使用 .htaccess 我们可以更改网址。所以我尝试了这个(在 .htaccess 中)。
RewriteEngine on
RewriteBase /
Redirect 301 /project_name/app/view/login.php /project_name/login.php
RewriteRule ^/project_name/login.php$ /project_name/app/view/login.php [L]
现在 url 是 http://localhost/project_name/login.php 是正确的。但似乎php没有使用原始链接来获取文件(即来自/project_name/app/view/login.php)而是从这里/project_name/login.php
所以它会抛出 404 错误。
我应该改变什么?请帮助我,我只是想从 url 中隐藏 /app/view/ 部分,这样用户就不会看到我的文件夹结构。我今天已经阅读了大约 9 小时的各种方法,但仍然无法正常工作。
希望我的问题足够清楚。非常感谢任何帮助!
【问题讨论】:
-
无论如何你都不应该直接链接到视图。你要么链接到控制器,要么有一个路由器根据请求让控制器使用
-
我使用控制器来访问模型并根据从模型中检索到的数据创建动态页面。控制器中的功能是完成最终视图页面的功能。您能解释一下如何按照您所说的方式进行操作吗?它是否会从我的网址中隐藏 /app/view/ 部分?
-
通常整个
app文件夹将完全不在文档根目录中,您将通过index.php执行所有操作,这将检查路径并包含它需要显示/处理的文件。 -
好的..谢谢。我会试试的。但它不会减慢网站速度吗?除此之外,您如何使用 .htaccess 更改用户看到的 url?
-
可能会使网站变慢一点,但我怀疑你会注意到。您不必使用
.htaccess,只需将所有内容路由到index.php,它就会照顾您。
标签: php .htaccess mod-rewrite url-rewriting wampserver