说明:
web server:以Apache httpd为例
程序:以PHP为例
方案1:最简单,不用配置Apache
URI效果:http://movie.example.com/index.php/subject/4843637/
案例:MediaWiki
todo
方案2:配置Apache URL rewrite,重定向至index.php,带参数
URI效果:http://movie.example.com/subject/4843637/
案例:MediaWiki
todo
方案3:配置Apache URL rewrite,重定向至index.php,无参数
URI效果:http://movie.example.com/subject/4843637/
todo
资料:配置Apache URL rewrite的两种方式
1、.htaccess文件(不重启Apache)
适用范围:虚拟主机等无法重启Apache的情况
步骤:开启Apache conf里的AllowOverride All(虚拟主机一般都已经开启),
把RewriteRule写入.htaccess文件,放在web访问的目录里。
2、Apache conf(重启Apache)
适用范围:VPS等可以重启Apache的情况
步骤:把RewriteRule写入httpd.conf或者httpd-vhosts.conf文件
PS:
想起来上学的时候,在虚拟主机(Web Hosting)上,不能重启Apache,想配置rewrite,去图书馆里翻了很多书都没有找到。后来在网上学习到.htaccess,一直没有记录下来。
后来做项目一直是配Apache conf。前几天同事问我:没有配置Apache,为啥就能用撇斜杠/传参数,像index.php/id/123/。
想起来前几天调研的MediaWiki也是这样,试了一下,恍然大悟,我一直不知道还有方案1的存在。
两年了,记录在此。