在PHP中路由URL

Juh*_*nen 8 php apache url-rewriting url-routing dwoo

我正在开发一个网页项目.为此,我决定使用Apache,PHP(5.1.7,我的服务提供商强加的版本)和Dwoo(模板).

我想将URL路由到我的模板.我知道有很多框架在做这种事情.我只是想知道是否有一个很好的方法来实现它.

我按如下方式设置了我的项目:

  • src/dwoo - Dwoo文件
  • index.php - 这应该处理路由.目前,它只是使用模板呈现网站的首页.
  • templates - 表示实际页面的模板.

业务逻辑很少(没有真正的模型).它只是非常静态的页面.使用模板可以使维护工作更轻松(即继承).

知道如何在这种情况下设置路由吗?我想理想情况下每个给定的URL应该通过index.php路由,然后以某种方式决定要呈现哪个模板(即./ category/pagename将映射到templates/category/pagename.tpl).

tro*_*skn 10

用于mod_rewrite将所有内容路由到单个index.php文件.然后检查$_SERVER['REQUEST_URI']此文件中的变量以分派到所需的处理程序.

mod_rewrite如果已安装,则此配置将启用:

DirectorySlash Off
Options FollowSymLinks Indexes
DirectoryIndex index.php

RewriteEngine on

RewriteCond %{REQUEST_FILENAME}  -d
RewriteRule  ^.*$  -  [L]

RewriteCond %{REQUEST_FILENAME}  -f
RewriteRule  ^.*$  -  [L]

RewriteRule ^.*$    index.php [L]
Run Code Online (Sandbox Code Playgroud)

  • "需要索引,否则请求/不会呈现index.php." - 这是完全错误的.如果未找到索引文件,索引将启用目录列表.DirectoryIndex是使index.php可用的指令 (2认同)