http://domain.com?keyword=value
...is很容易捕获,因为它是一个简单的GET请求,但是,我希望捕获在/之后直接传递的值,如下所示:
http://domain.com/value
我可以得到这样的值:
preg_match("/[^\/]+$/", "http://www.domain.com/value", $matches);
$last_word = $matches[0]; // value..。但是,URL的结果是一个404,因为它寻找一个名为value的目录,这个目录显然是不存在的。
发布于 2014-11-24 07:49:10
一个简单的URL重写就可以做到这一点。你可以移除那个丑陋的审判官。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA,NC]解释:
RewriteEngine on -将重写引擎设置为
RewriteBase / -/表示您的项目/网站的根,在本例中是域之后的所有内容。
RewriteCond %{REQUEST_FILENAME} !-f -不是一个实际的文件
RewriteCond %{REQUEST_FILENAME} !-d -不是一个实际的目录
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA,NC] -将域后的所有内容发送到url键获取全局变量
现在您可以通过$_GET['url']获取url了。当然,你可以改变那个的钥匙。
https://stackoverflow.com/questions/27099983
复制相似问题