Comment obtenir tout ce qui est après le nom de domaine dans une chaîne de caractères
Mon but est de faire tout ce qui est après le nom de domaine dans une chaîne de caractères. Comme dans mysite.com/page/page2 le résultat serait une chaîne "à la page/page2". Ce que je peux faire, cependant, il commence à me donner des problèmes lorsque, par exemple, le site est dans un sous-dossier et non à la racine du dossier que le site est en sera également inclus dans la chaîne et si je ne suis pas en utilisant mod_rewrite pour obtenir assez de liens, il sera également ajouter index.php à la chaîne.
Donc, j'aurais besoin d'un truc ou deux pour faire le script de comprendre si oui ou non le site est dans un sous-dossier comme mysite.com/sitefolder/page/page2 et qu'il serait encore résultat dans une chaîne
page/page2
Si le site ne pas utiliser mod_rewrite et l'url est mysite.com/sitefolder/index.php/page/page2 il serait tout de même entraîner dans une chaîne
page/page2
Gardez à l'esprit que j'ai des URL et USE_MOD_REWRITE défini dans un fichier de config, donc pas besoin de la magie. J'ai juste aucune idée de comment s'y prendre pour que cette chaîne. Je sais que je pourrais faire $_SERVER['REQUEST_URI'] pour obtenir la chaîne de caractères, mais alors index.php serait encore à elle. Je suis désolé si je n'ai pas expliqué assez bien, mais toute aide est très appréciée.
OriginalL'auteur Asko | 2012-01-08
Vous devez vous connecter pour publier un commentaire.
rtrim toutes les barres obliques
MODIFIER
Je suppose que vous auriez besoin de définir un niveau maximal de sous-dossier dans le site web de... Voir la modifier 😉
"Fatal error: Maximum execution time of 30 seconds exceeded" - je pense que la boucle n'est pas exactement une bonne idée 😀
Je pense que vous l'avez laissé rtrim() où pour la deuxième solution, il devrait être trim()
OriginalL'auteur kwintin
Vous pouvez utiliser
$SERVER['REQUEST_URI']
et ensuite modifier la chaîne avec PHPsubstr()
fonction. Alors, mettez l'URI dans une variable et ensuite exécuter cette fonction pour supprimer les X premiers caractères (longueur de nom de domaine) depuis le début, et X le nombre de caractères à partir de la fin (index.php = 9).Par exemple:
$new_url = substr($uri_variable, 10, -9);
Où
$uri_variable
est le$SERVER[
REQUEST_URI']`, 10 est le caractère après le nom de domaine et -9 est les personnages dans index.php.http://php.net/manual/en/function.substr.php
OriginalL'auteur Justin