删除无用的网址部分

时间:2015-10-25 07:38:46

标签: regex apache .htaccess mod-rewrite friendly-url

我的网站启用了用户友好网址,删除了/index.php?q=,但在Google中,我发现许多网址没有意义,例如:

/category/Trees/index.php?q=/item/view/11527

唯一相关的部分是

如何使用htaccess将这些网址永久重定向到/item/view/11527网址?

目前我有这个:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?q=$1&%{QUERY_STRING} [L]

1 个答案:

答案 0 :(得分:1)

您可以使用重定向规则:

# external redirect rule
RewriteCond %{THE_REQUEST} /index\.php\?q=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L,NE]

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

确保在.htaccess的顶部设置了适当的RewriteBase