如何使用PHP中的.htaccess从URL获取参数

时间:2014-11-04 02:25:24

标签: php apache .htaccess mod-rewrite

如何使用非.htaccess重写规则显示以下网址?参数β

Original URL
http://example.com/index.php?store=1

Desired URL 
http://example.com/1/

OR

Desired URL 
http://example.com/store/1

我正在尝试在.htaccess中使用代码。我在这里缺少什么?

RewriteEngine On
Options +Followsymlinks
RewriteCond %{REQUEST_FILENAME} !-f
rewriteRule ^store/(.+)\$ index.php?store=$1 [L]

我的index.php文件有这段代码

<?php
$storeid = $_GET['store'];
echo $storeid;
?>

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您正在转义字符串结尾字符,导致表达式查找文字$符号,因此它永远不会匹配。

您需要以下内容:

rewriteRule ^store/(.+)$ /index.php?store=$1 [L]
                       ^ no back-slash here

或者如果您想确保只匹配数字:

rewriteRule ^store/(\d+)$ /index.php?store=$1 [L]