簡體   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