URL:如何使get参数看起来像目录

时间:2016-02-04 00:23:31

标签: php .htaccess

此请求:

http://domain.com/newest

应改写为:

http://domain.com/index.php?list=newest

我尝试使用.htaccess实现重定向并达到此目的:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?list=$1 [L,QSA]

但这似乎仍无效。如何让这次重写和重定向工作?

1 个答案:

答案 0 :(得分:0)

您必须以这种方式更改RewriteRule ^(.+)$ /index.php?list=$1 [L,QSA] 条件:

$_SERVER[QUERY_STRING]

然后,在我们的脚本中,您可以通过$_SERVER[REQUEST_URI]访问重写的规则,而原始请求可以通过RewriteRule . /index.php [L,QSA] 照常提供。

请注意 - 如果您打算重新映射所有“未找到”的传入请求,您也可以简单地使用此规则:

index.php

然后,在$_SERVER[REQUEST_URI]文件的顶部,处理$list并为$list = substr( parse_url( $_SERVER['REQUEST_URI'])['path'], 1 ); 变量指定正确的值。

所以,即拥有网址http://domain.com/newest

$list

newest会将ng-model视为值。