我在.htaccess文件中学习重写规则很难,所以我希望有人能告诉我如何重写这个:
test.com/home/feed/toak/nyheter/vg
进入这个:
test.com/index.php?r=home&f=feed;toak;nyheter;vg
这是一个动态网址,可以分隔多个元素;到底。我希望我的用户能够输入尽可能人性化的URL。我希望有人可以提供帮助!
答案 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'], '/', ';');
。