J'ai une URL dans ce format:

https://www.example.com/activate/9ajebaidblahdeblahblah2020

Ma configuration est /activate/index.php

Comment puis-je analyser / 9ajebaidblahdeblahblah2020 avec le fichier index.php dans le dossier / activate?

J'ai essayé...

$current_url = $_SERVER['REQUEST_URI'];
echo $current_url;

//OR

var_dump($_SERVER['REQUEST_URI']);

Ce que je voudrais faire, c'est (objectif) ...

$current_url = explode("/", $_SERVER['REQUEST_URI']);
//echo $current_url[2];

Merci d'avance pour toute aide.

1
RustyNox 26 oct. 2020 à 09:32

4 réponses

Meilleure réponse

Ajoutez un fichier .htaccess dans votre dossier de projet activate avec le code ci-dessous:

RewriteEngine On

RewriteRule ^/?activate/(.+)$ /activate/index.php?val=$1 [NC,L,P]

Démo: https: //htaccess.madewithlove .be? share = aa64900e-ba78-4f17-9369-326f4384dd47

Plus tard dans votre fichier index.php, vous pouvez simplement utiliser comme:

<?php

echo $_GET['val'];
2
nice_dev 26 oct. 2020 à 06:53

Vous n'avez pas de page nommée 9ajebaidblahdeblahblah2020 sur votre serveur.

Vous pouvez rediriger toutes les URL vers index.php avec htaccess (https: // httpd. apache.org/docs/current/howto/htaccess.html).

Voir plus de détails ici: Tout rediriger vers index.php à l'aide de htaccess

1
zvi 26 oct. 2020 à 06:52
<php

$url = $_SERVER['REQUEST_URI'];

$route_path = parse_url($url, PHP_URL_PATH);

$segments = array_filter(explode("/", $route_path));

print_r($segments);

Vous obtiendrez le résultat suivant,

Array ([1] => activer, [2] => 9ajebaidblahdeblahblah2020)

0
Faazi Ahamed 26 oct. 2020 à 06:52

Utilisation:

echo next(explode("activate/", $_SERVER['REQUEST_URI']));
0
Cyborg 26 oct. 2020 à 06:54