-1

我在重写 URL 以隐藏查询字符串时遇到问题。我正在尝试重写:

http://seynol.tk/comments?post_referrel_id=16

至:

http://seynol.tk/comments only

这是我到目前为止所尝试的:

RewriteBase /
Options +FollowSymlinks -MultiViews
RewriteEngine on
# to make `/path/index.php` to /path/
RewriteCond %{THE_REQUEST} ^GET\s(.*/)index\.php [NC]
RewriteRule . %1 [NE,R=301,L]

RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC]

RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_URI}.php [L]
4

1 回答 1

0

您所要做的就是检查是否设置了查询字符串并使用空查询字符串进行重定向。

RewriteCond %{QUERY_STRING} post_referrel_id
RewriteRule (.*) $1? [R=301,L]

如果您想将引用 id 放入 URL 中并静默地将其转换为查询字符串,您可以使用它:

RewriteRule ^/comments/([0-9]+)$ /comments?post_referrel_id=$1

这假设帖子 ID 是数字。URL 如下所示:http ://sevnol.tk/comments/16

于 2012-11-19T14:48:37.617 回答