使用mod_rewrite使搜索看起来像html页面

时间:2014-03-06 03:35:21

标签: apache .htaccess mod-rewrite

我希望我的网址看起来像,

http://www.mydomain.com/search.php?q=blue+widgets

看起来也是这样,

http://www.mydomain.com/blue+widgets.html

以下代码使网址看起来像这样,

http://www.mydomain.com/blue+widgets/

我怎样才能在最后添加.html?我尝试了几件事,但却无法让它发挥作用。

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

2 个答案:

答案 0 :(得分:1)

你几乎拥有它:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+).html$ search.php?q=$1 [L,QSA]

([^.]+)是第一组,意味着什么都不是点 .html是剩余的,以匹配您想要的扩展程序

由于您在.htaccess上使用此功能,因此您不需要/?

答案 1 :(得分:0)

只需将html添加到模式中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)\.html$ search.php?q=$1 [L,QSA]