2011-06-07 48 views
0

我尝试重写我的网址阿帕奇重写URL静态为动态

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 
+0

你想将用户重定向到其他页面,还是默默重写?如果你想静静地重写它,你应该重写它到一个PHP页面。 – 2011-06-07 14:52:34

+0

尝试了一切 – 2011-06-07 15:21:22

回答

1

你应该尝试一个RewriteBase /添加到您的.htaccess并用[L]​​的后缀您的规则说这是与类似的东西截至上重写规则:

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

如果这仍然不起作用一定要检查mod_rewrite是否启用

此外,您还可以[R,L]而不是[L]查看URL中的重定向,因此有更多关于自己的信息。

希望这有助于

+0

我试过 - 没有工作 – 2011-06-07 15:18:51

+0

当你用[R,L]代替[L]时会发生什么?它执行重定向吗?如果是,什么是重定向的url,如果没有,可能是mod_rewrite没有启用。 – malko 2011-06-08 09:36:02

0

有这样的代码在你的.htaccess文件:

Options -MultiViews +FollowSymLinks 
RewriteEngine On 

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

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

写入规则一样,

重写规则^直播/(A-ZA-Z0-9 _-] +)$ /viewcategory.php?cat=$1