2013-11-26 62 views
1

我的當前網址是http://domain.com/example.php/link=eg但是,如果有人使用網址並將網址設置爲http://domain.com/example.php/abcdefgh97654 - 任何事情,我的所有功能都將從該網頁中的所有鏈接變爲非活動狀態。如何重定向錯誤輸入的網址

我嘗試使用<?=HTTP_SERVER;?>之前,我的PHP文件中的所有鏈接,但作爲我的網站有用戶註冊和登錄,當用戶登錄並點擊任何菜單(從PHP腳本鏈接)。它在index.php頁面上拋出。但是如果用戶再次登錄,它可以很好地工作。總之用戶需要登錄兩次才能完美工作。

  1. 基本上我想兩種解決一個我想重定向www點 域點com /例如點PHP/abcdefgh97654 - 任何(錯誤的URL 頁)的errorPage(我已經在htaccess的做到了這一點),但不 爲上述類型工作。
  2. 列表項

而且要解決兩個時間日誌中的問題。

如果有人有解決方案,將不勝感激。

+0

你使用某種框架?你在使用前端控制器模式嗎?你可以添加一些你正在嘗試做的代碼嗎? – Onema

回答

0

要做到這一點,您必須知道應該通過$_GET變量向您的頁面傳遞的值是什麼。然後,您可以爲值和用戶header();函數創建過濾器。 這裏是我的建議:

<?php 
$var=$_GET['val'] 
//get expected length if you need. 
if(strlen($var)>9 or strlen($var)) { 
$redirect=true; 
} 
//if you know what you are expecting 
$vals=array('val1', 'val2, 'val3'); 
if(!in_array($var, $vals)){ 
$redirect=true; 
} 
//continue or replace your filters in this manner and asign your value to $redirect 

if($redirect==true) { 
header("Location:url"); // do this before anything else is printed to the page or else it will say headers already sent. 
} 

?>