htaccess RewriteRule - 从URL中删除.html和查询

时间:2012-09-02 12:03:26

标签: apache .htaccess mod-rewrite

我在Google缓存和索引中有一些“脏”的网址会不断弹出。

我已经努力删除它们,但同时我想使用htaccess RewriteRule创建重定向。

我已经取得了部分成功,但还没有完成。

原始网址 http://www.domain.net/folder/132-article-title的.html TMPL =组分&安培;类型=原始

重写网址 http://www.domain.net/folder/132-article-title

到目前为止我已经

RewriteRule ^(.*)\.html(.*) http://www\.domain\.net/$1 [L,R=301] 

但它正在做的是从网址中删除 .html

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您想要完全删除查询字符串。它会自动附加[R]重定向,除非您在重写中有一些东西要替换它。要完全删除它,请附加?

# Add a ? to replace the whole query string with an empty string
RewriteRule ^(.*)\.html$ http://www\.domain\.net/$1? [L,R=301] 

请注意,我在$之后添加了.html以指示字符串在那里结束。 RewriteRule左侧的查询字符串匹配,因此您不需要(.*)