检查.htaccess是否重定向了站点

时间:2012-01-06 18:56:16

标签: php .htaccess

我在.htaccess文件中有以下规则:

RewriteRule orders\.html orders.php [L,NC]

如何检查orders.php用户是否输入了orders.html或orders.php作为请求网址?

如果他/她在地址栏中有orders.php,我想将用户重定向到orders.html。

2 个答案:

答案 0 :(得分:1)

为了在重写后从PHP获取最初请求的URI:

  1. 试试$_SERVER['REDIRECT_URL']。根据我的经验,Apache的mod_rewrite模块填充了CGI的REDIRECT_URL变量。

  2. $_SERVER['REQUEST_URI']也应该有用。

  3. print_r($_SERVER);查看您可以使用的所有变量。

答案 1 :(得分:1)

  

我想将用户重定向到orders.html,如果他/她在地址栏中有orders.php

如果您正在寻找.htaccess解决方案,请尝试以下代码

RewriteEngine on
RewriteBase /

#if the user requested orders.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /orders\.php [NC]
#301 redirect them to orders.html
RewriteRule . orders.html [L,R=301]

#existing rule to rewrite .html to .php
RewriteRule ^orders\.html$ orders.php [L,NC]