【发布时间】:2014-01-07 12:11:58
【问题描述】:
我的脚本有一个小问题。我有一个最小的表格。 2 个字段和最大。 4个是动态添加的,所以基本上我发送2个vars或3个或4个。我希望我足够清楚。
如果我手动访问 url,重写工作正常。
RewriteRule ^([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/? browse.php?c=$1&j=$2&l=$3&k=$4 [L,QSA]
但问题是提交表单后我无法将页面重定向到新 URL。
我在 PHP header.php 中使用了这段代码:
$url = "";
if(isset($_GET["c"])) $url .= $_GET["c"]."/";
if(isset($_GET["j"])) $url .= $_GET["j"]."/";
if(isset($_GET["l"])) $url .= $_GET["l"]."/";
if(isset($_GET["k"])) $url .= $_GET["k"]."/";
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.samedomainhere123.com/'.$url);
这只是一个示例,代码更大但基本上做同样的事情(如果 GET var 为空,我为前 2 个 var 添加一个默认值)。
启用重定向功能后,我进入一个循环。
我能做什么?是否可以使用 htaccess 进行此重定向?
谢谢。
【问题讨论】:
-
http://www.domain.com/是否指向与您的重写规则相同的位置?如果是这样,它将达到相同的规则并进入无限循环。 -
http://www.domain.com/是网络托管公司拥有的真实网址,在示例中使用时要小心 -
很确定您不能在位置标头函数中附加变量。只需使用双引号并将变量正常放入
-
同一个域名,抱歉不知道这是一个真实的网站。
-
@elliotanderson:它可以与 append 一起使用,但这不是问题。
标签: php .htaccess redirect rewrite