apache将静态url重写为动态

时间:2011-06-07 14:45:25

标签: php .htaccess rewrite

我正在尝试重写我的网址

http://www.domain.com/live/randomword

它应该重写为

http://www.domain.com/live/?cat=randomword

这是我的测试:

RewriteRule ^live/(.*)$ /live/?cat=$1
RewriteRule ^live/(.*)$ live/?cat=$1

我在htaccess文件中的所有内容是:

RewriteEngine on

3 个答案:

答案 0 :(得分:1)

您应该尝试在.htaccess中添加RewriteBase /并使用[L]为您的规则添加后缀,以表示它的最后一次重写规则以这样的结尾:

RewriteEngine on
RewriteBase /
RewriteRule ^live/(.*)$ live/index.php?cat=$1 [L]

如果仍然无效,请务必检查mod_rewrite是否已启用

你也可以用[R,L]而不是[L]来查看网址中的重定向,这样就可以了解更多信息。

希望这个帮助

答案 1 :(得分:0)

将此代码放在.htaccess文件中:

Options -MultiViews +FollowSymLinks
RewriteEngine On

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^live/(.*)$ /live/?cat=$1 [L,NC]

答案 2 :(得分:0)

在重写规则中缺少文件名或扩展名吗?

写规则,

RewriteRule ^ live /([a-zA-Z0-9 _-] +)$ / viewcategory.php?cat=$1