0

需要一些帮助。我有:

RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^catalog/ catalog.php
RewriteRule ^catalog/(.*)/ catalog.php?id=$1

使用此重定向我没有收到(http://www.example.com/catalog/abc/

GET['id']

如何接收 GET['id']?

4

1 回答 1

1

您的第二条规则需要 2 个标志:

  • QSA - 查询字符串追加
  • L - 最后

总体而言,您的 .htaccess 应如下所示:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^catalog/([^/]+)/?$ catalog.php?id=$1 [L,QSA,NC]

第二条规则中的 QSA 标志将确保在添加新查询参数时保留任何现有的查询字符串id

于 2013-07-06T17:48:43.953 回答