[英]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.