.htaccess文件:动态重定向

时间:2010-06-19 22:17:45

标签: php .htaccess rewrite

我在.htaccess文件中学习重写规则很难,所以我希望有人能告诉我如何重写这个:

test.com/home/feed/toak/nyheter/vg

进入这个:

test.com/index.php?r=home&f=feed;toak;nyheter;vg

这是一个动态网址,可以分隔多个元素;到底。我希望我的用户能够输入尽可能人性化的URL。我希望有人可以提供帮助!

1 个答案:

答案 0 :(得分:4)

如果您有可变数量的参数,则不能仅使用.htaccess执行此操作。你可以在php中重写:

RewriteEngine On
RewriteRule .* rewrite.php [NE,L]

在rewrite.php中解析$_SERVER['REQUEST_URI']

对于4个变量的静态数:

RewriteEngine On
RewriteRule ^(\w+)/(\w+)/(\w+)/(\w+)/(\w+) index.php?r=$1&f=$2;$3;$4;$5

或者你可以做(​​对于任意数量的变量):

RewriteEngine On
RewriteRule ^(\w+)/(.*) index.php?r=$1&f=$2

在index.php中使用$_GET['f'] = strtr($_GET['f'], '/', ';');