我想用 Apache 的 rewrite 在 php 中实现单一入口,把所有的请求都重定向到 index.php,然后分析 $_SERVER['REQUEST_URI'],构建路由功能。
在使用时候时候出现了一个问题,请求其他的地址,比如 http://localhost/a/b/c 可以获得结果
array (size=4) 0 => string '' (length=0) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1)
<?php........function analysisUri() { var_dump(explode('/', $_SERVER['REQUEST_URI'])); }echo $_SERVER['REQUEST_URI'];analysisUri(); ........
这个rewrite规则是从网上找到的
DocumentRoot /home/www<Directory /> Options FollowSymLinks AllowOverride None #AllowOverride All <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / #不显示index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #RewriteRule ^(.*)$ index.php?$1 [QSA,L] </IfModule></Directory><Directory /home/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None #AllowOverride All Order allow,deny allow from all DirectoryIndex index.php index.html index.htm
PIPIONE
慕少森