如何为这些案例编写.htaccess mod_rewrite规则?

时间:2010-12-13 10:04:09

标签: .htaccess mod-rewrite url-rewriting apache2

想要转发以下内容:

localhost/bla/index.html -> localhost/index.php?s=bla/index.html
localhost/blub.html -> localhost/index.php?s=blub.html
localhost/blog.html?site=10 -> localhost/index.php?s=blog.html&site=10
localhost/folder -> localhost/index.php?s=folder

但我只想重定向.html和文件夹。

1 个答案:

答案 0 :(得分:2)

RewriteCond %{REQUEST_URI} .html$ [OR]
RewriteCond -d
RewriteRule (.*) /index.php?s=$1 [L,QSA]

只有当uri以“.html”结尾或者它是一个文件夹时,它才会将整个uri重写为?s =查询字符串。 QSA标志应该确保.html文件(?site = 10)上的查询字符串也被添加到新的URL中。