可能重复:
Routing URLs in PHP
如何设置像典型CMS框架一样的虚拟URL?有一个很好的教程或代码库吗?根据我的理解,它将所有请求重新路由到index.php,而Apache则执行某种mod_rewrite。我不是很确定。我将如何开始设置这样的框架?
答案 0 :(得分:1)
你对mod_rewrite是正确的,这里有几个很好的教程,它也涉及.htaccess文件的各种其他用途
答案 1 :(得分:0)
你应该在Apache中启用mod_rewrite。
您将所有请求重新路由到index.php
是正确的完成所有操作后,您的.htaccess文件应包含以下内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
这基本上告诉所有请求转到index.php
我建议查看现有的框架,比如CodeIgniter,看看他们是如何做到的,然后实现自己的框架。
答案 2 :(得分:0)
了解symfony如何做here(就mod_rewrite而言)。
并检查this answer以了解PHP部分的一些方法。