我在.htaccess文件中有以下规则:
RewriteRule orders\.html orders.php [L,NC]
如何检查orders.php用户是否输入了orders.html或orders.php作为请求网址?
如果他/她在地址栏中有orders.php,我想将用户重定向到orders.html。
答案 0 :(得分:1)
为了在重写后从PHP获取最初请求的URI:
试试$_SERVER['REDIRECT_URL']
。根据我的经验,Apache的mod_rewrite模块填充了CGI的REDIRECT_URL
变量。
$_SERVER['REQUEST_URI']
也应该有用。
请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]