繁体   English   中英

URL重定向似乎无效

[英]URL Redirect doesn't seem to be working

所以我正在这个项目上,我需要制作一个推荐模块。 我必须以这样的方式重写URL,即页面Refer_handler.php?refhash =(base64encode(email))重写为/ refer /(base64encode(email))

我有此代码的重定向:-

RewriteRule ^refer/(\d+)$ refer_handler.php?refhash=$1 [L,QSA]

这是Refer_handler.php

<?php
session_start();
include 'dbconnector.php';
include 'inc/inc.functions.php';
include 'dbpdo.php';
if((isset($_SESSION['logged'])) && ($_SESSION['logged']=1))
{
    //get the email id from the header
    $emailOfTheReferrer = $_REQUEST['refhash']; // we get the refhash from here.
    echo base64_decode($emailOfTheReferrer);
    ////////////////
    //Layers -- // 
    //Check if the refer hash exists  (Check if the parent email exists)
}
else
{
    header('Location:../index');
}
?>

问题

URL重写似乎不起作用。 当我转到/ refer / somerefhash时,它说:-找不到。 但是,如果我使用相同的refhash,然后使用URL Refer_handler.php?refhash = thehashhere,那么一切似乎都可以正常工作。

我怎样才能解决这个问题 ?

谢谢。

问题是(\\d+)仅允许数字。 并且base64编码的字符串可能包含其他字符。

尝试这个:

RewriteRule ^refer/(.+)$ refer_handler.php?refhash=$1 [L,QSA]

而是捕获任何一个或多个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM