2016-07-22 8 views
1

Ich brauche eine Seite, wenn ich sie laden den Link zum Beispiel eingegeben check out:
www.test.com/myphp.php=10
wenn es bestimmte Anzahl findet es beispielsweise auf einen anderen Link leitet:
gefunden www.test.com/myphp.php=10www.test.com/news/10.php News umleitet.Umleiten der Seitenanalyse URL eingegeben?

Wie kann ich das machen und welche Technologie soll ich verwenden?

+0

Ich würde empfehlen, Sie verwenden ein routhing mich thod. Ein Beispiel ist https://github.com/dannyvankooten/PHP-Router – nniicc

Antwort

1

Zunächst ist Ihre Syntax für GET-Variablen ein wenig aus. Ich nehme an, du meinst Start-URLs von test.com/myphp.php?redirect=10 oder etwas ähnliches? Weil www.test.com/myphp.php=10 eine schlechte Syntax ist.

Ich gehe davon aus wir GET-Variablen verwenden, wie oben in meiner Antwort beschrieben:


Der einfachste Weg, dies würde zu tun, um die Lage Header in PHP nur gesetzt:

if(array_key_exists("redirect", $_GET)){ 
    #set header to redirect to new location 
    header("Location: /news/" . $_GET["redirect"] . ".php"); 
    #don't let the page do anything else 
    die(); 
}else{ 
    #do something if the GET variable doesn't exist 
} 

Beachten Sie, dass auf diese Weise einige Sicherheitsanfälligkeiten auftreten. Möglicherweise möchten Sie etwas weiter entwickeltes durchführen (z. B. intval die GET-Variable, sodass sie kein Skript in Ihre Variable einfügen können oder nur addslashes() in den GET-Variablenwert) .

+0

Vielen Dank für Ihre Hilfe, Sie und die anderen haben mir geholfen, jetzt kann ich eine dynamischere Website erstellen. * Mein Englisch ist nicht sehr gut, sorry grammatikalische Fehler * –

1

Url sollte mit einem get Parametername sein. http://www.test.com/myphp.php?news=10

if(isset($_GET['news']) && is_numeric($_GET['news'])) { 
    $newsUrl = 'http://www.test.com/news/' . (int)$_GET['news'] . '.php'; 
    header('location: ' . $newsUrl); 
    // or 
    // header('location: /news/' . (int)$_GET['news']); 
    die; 
} 
-2

Plain alten Javascript

function getQueryVariable(variable) 
{ 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) { 
      var pair = vars[i].split("="); 
      if(pair[0] == variable){return pair[1];} 
    } 
    return(false); 
} 

Wenn die URL www.test.com/myphp.php?id=10 getQueryVariable Calling ("id") zurückkehren würde 10

Dann umleiten Sie einfach mit

var number = getQueryVariable('id') 
window.location = "www.test.com/news/"+number+".php";