有没有办法在设置我的网站时将/forums/(forumID)/
等php代码中的相对URL插入标签?然后,当我试图获取当前页面的哪个forumID时,通过$_GET
请求获取它而不使用Smarty,CakePHP等模板系统或Apache重写模块?还是头疼?我只是希望能够不被绑定到一个Web服务器类型(Apache)。
答案 0 :(得分:4)
清洁网址相当容易,但如果网页差异很大,可能会导致一些问题。
您需要编辑.htaccess文件并添加与此类似的内容
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
#This will process http://example.com/forum as http://example.com/index.php?page=forum
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
#This includes the trailing slash
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?page=$1&id=$2
#This will process http://example.com/forum/512 as http://example.com/index.php?page=forum&id=512
的良好来源
答案 1 :(得分:2)
...来自OP评论。
这些框架再次以各自的语言读取请求,以允许框架路由到特定的控制器,但是他们仍然需要设置Web服务器以便首先将请求发送到框架。
这是Web服务器看到的旅程。它需要在它甚至命中服务器端脚本语言(PHP / Python / Ruby等)之前读取请求。
一旦网络服务器随意点击前端控制器,服务器端语言就可以重新读取URL。
答案 2 :(得分:1)
从架构的角度来看,拥有干净网址的主要原因是:
.php
或任何其他扩展程序,则必须将服务器设置为接受.php
扩展名其他语言,如果你切换到ASP.net。请注意,要使用编程语言来路由网址,您仍需要设置服务器以将所有内容定向到引导程序文件。老实说,无论如何,你都无法获得某种服务器配置。
结论:如果不进行某些服务器设置,您希望以这种方式设置项目的逻辑将无效。