Joj*_*n45 1 .htaccess redirect http-status-code-301
我想从页面创建301到同一页面,除了目标页面在URL中有一个参数.浏览器向我显示错误(重定向太多),因此它似乎存在无限循环.这是我的代码:
RewriteEngine on
Redirect 301 /index.php http://www.monsite.com/index.php?step=1
Run Code Online (Sandbox Code Playgroud)
感谢为我提供的建议:D
您需要条件化重定向并在PHP中执行以防止无限重定向循环.
index.php文件:
if(!isset($_GET['step'])){
header('Location:http://www.monsite.com/index.php?step=1');
}
Run Code Online (Sandbox Code Playgroud)
你配置它的方式将无限期地重定向,因为没有任何东西对引擎说"一旦设置URL变量步骤就不要重定向我".
有很多方法可以在.htaccess文件中执行此操作,但由于这些重定向通常是应用程序逻辑,因此在脚本中直接执行它似乎更有意义.
或者,对于纯粹的.htaccess解决方案:
#if query string is empty
RewriteCond %{QUERY_STRING} ^$
#match on / for root, or .index.php in request and send to query string version
RewriteRule ^(/|index.php)?$ /index.php?step=1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)