重写规则以重定向html,但不重定向任何其他文件

时间:2010-09-03 13:30:03

标签: regex .htaccess mod-rewrite

我希望我的htaccess将以“.html”结尾的网址重定向到index.php,而不是任何其他文件(因此图片可以保留其href并仍然显示)

这就是我的htaccess现在的样子,它适用于HTML重定向,但不显示样式或图像(因为它们也被重定向,我猜)

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^/?([\w./]+)\.html$ /index.php?object=$1 [L]
RewriteRule ^/?([^html]+)$ /$1

我怎样才能让它工作,所以只重定向.html文件?

2 个答案:

答案 0 :(得分:1)

RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php

在使用之前使用过。

答案 1 :(得分:1)

RewriteRule ^/?([^html]+)$ /$1

不做你想做的事。它匹配任何不包含任何字符h,t,m或l的内容。你的第一条规则也很奇怪;同时\w.都是多余的,因为除了其他字符外,.隐含\w

尝试此规则:

RewriteRule ^/?(.*)\.html$ /index.php?object=$1