Maison cadre php PensezPHP Comment masquer les fichiers d'entrée dans thinkPHP5

Comment masquer les fichiers d'entrée dans thinkPHP5

Apr 11, 2023 am 09:14 AM

thinkPHP5 est un excellent framework de développement PHP. Il fournit une méthode de développement rapide et des composants fonctionnels riches, parmi lesquels la fonction de routage d'URL est l'une de ses fonctionnalités importantes. Mais par défaut, accéder à la route nécessite d'ajouter index.php à l'URL. Par souci de beauté et de sécurité, cet article explique comment masquer le fichier d'entrée dans thinkPHP5.

1. Préparation de l'environnement

Avant le masquage d'URL, nous devons vérifier si l'environnement local prend en charge la fonction pseudo-statique et la fonction de réécriture d'URL, afin que l'opération de masquage d'URL puisse être effectuée en douceur. Tout d'abord, nous devons nous assurer qu'un serveur Web tel qu'Apache ou Nginx est installé, puis activer les fonctions pseudo-statiques et de réécriture d'URL dans le fichier de configuration, afin que le framework puisse reconnaître et générer des URL embellies.

2. Activez le masquage d'URL

  1. Ouvrez le fichier de configuration

Dans le fichier de configuration de thinkPHP5, recherchez le fichier app.php, recherchez l'élément de configuration url_html_suffix et définissez-le sur une chaîne vide, c'est-à-dire :

'url_html_suffix' = > ''

Cela autorise les URL sans suffixes.

  1. Configurer le routage

Dans thinkphp5, en configurant les règles de routage, vous pouvez mapper l'URL d'accès au contrôleur ou à la méthode de fonctionnement. Nous devons définir les paramètres de routage correspondants pour chaque contrôleur ou méthode de fonctionnement, et mapper son URL correspondante à un contenu significatif, afin que l'effet caché puisse être exercé, par exemple :

Route::get('news /:id', 'index/index/news',[],['id'=>'d+']);

De cette façon, lors de l'accès à l'URL /news/1, le contrôleur d'index sera automatiquement appelé méthode d'opération news et définissez l'identifiant du paramètre de demande sur 1.

  1. Configurer le serveur

La configuration correspondante doit également être effectuée dans Apache ou Nginx. En prenant Apache comme exemple, ajoutez le contenu suivant dans .htaccess :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s= / $1 [QSA,PT,L]

Dans ce code, RewriteEngine active la fonction de réécriture d'URL d'Apache ; RewriteCond %{REQUEST_FILENAME} !-d et RewriteCond %{REQUEST_FILENAME} !-f excluent l'accès aux fichiers et répertoires demandés à éviter. affectant l'accès aux ressources statiques ; enfin, RewriteRule est utilisé pour pointer l'URL vers le fichier d'entrée thinkPHP index.php et apporter des informations de routage.

4. Fonctions supplémentaires

  1. Définir le suffixe d'URL

Pour protéger davantage notre application, nous pouvons rendre notre application plus sécurisée en définissant le suffixe d'URL. Par exemple, vous pouvez définir tous les suffixes d'URL sur .shtml, .html, .shtml, etc., ce qui peut efficacement éviter les attaques contre nos applications.

Vous pouvez trouver l'option url_html_suffix dans le fichier de configuration et ajouter le suffixe correspondant, par exemple :

'url_html_suffix' => 'shtml|html|htm'

  1. Identifier automatiquement l'URL

Nous pouvons utiliser Route Ajoutez une règle de routage à la méthode register dans la classe afin que le framework puisse identifier automatiquement l'URL. Par exemple :

if (is_file(APP_PATH . 'route.php')) {
Route::get('/', 'index/index');
Route::get('build', 'index/build ' );
include_once APP_PATH . 'route.php';
}

De cette façon, s'il existe une URL qui correspond aux règles, elle sera automatiquement transmise à son contrôleur ou à sa méthode d'action correspondante.

3. Résumé

Grâce aux étapes ci-dessus, nous pouvons facilement implémenter l'opération de masquage d'URL dans thinkPHP5, ce qui peut rendre notre application plus belle, plus sûre et plus facile à utiliser. Cependant, dans les applications réelles, une configuration et un débogage plus détaillés sont nécessaires pour obtenir la meilleure expérience de service.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur? Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur? Mar 18, 2025 pm 04:54 PM

L'article traite des considérations clés pour l'utilisation de ThinkPHP dans des architectures sans serveur, en se concentrant sur l'optimisation des performances, la conception sans état et la sécurité. Il met en évidence des avantages tels que la rentabilité et l'évolutivité, mais relève également des défis

Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp? Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp? Mar 18, 2025 pm 04:50 PM

Le conteneur IOC de ThinkPhp propose des fonctionnalités avancées comme le chargement paresseux, la liaison contextuelle et l'injection de méthode pour une gestion efficace des dépendances dans les applications PHP. COMMANDE CHARACTER: 159

Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP? Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP? Mar 18, 2025 pm 05:01 PM

L'article traite du cadre de test intégré de ThinkPhP, mettant en évidence ses principales fonctionnalités telles que les tests d'unité et d'intégration, et comment il améliore la fiabilité des applications grâce à la détection précoce des bogues et à une meilleure qualité de code.

Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP? Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP? Mar 18, 2025 pm 04:51 PM

L'article discute de la mise en œuvre de la découverte de services et de l'équilibrage des charges dans les microservices ThinkPHP, en se concentrant sur la configuration, les meilleures pratiques, les méthodes d'intégration et les outils recommandés. [159 caractères]

Quelles sont les meilleures façons de gérer les téléchargements de fichiers et le stockage cloud dans ThinkPhp? Quelles sont les meilleures façons de gérer les téléchargements de fichiers et le stockage cloud dans ThinkPhp? Mar 17, 2025 pm 02:28 PM

L'article traite des meilleures pratiques pour gérer les téléchargements de fichiers et intégrer le stockage cloud dans ThinkPHP, en se concentrant sur la sécurité, l'efficacité et l'évolutivité.

Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ? Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ? Mar 18, 2025 pm 04:45 PM

L'article décrit la création d'un système de file d'attente de tâches distribué à l'aide de ThinkPhp et RabbitMQ, en se concentrant sur l'installation, la configuration, la gestion des tâches et l'évolutivité. Les problèmes clés incluent assurer la haute disponibilité, éviter les pièges communs comme Imprope

Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel? Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel? Mar 18, 2025 pm 04:49 PM

L'article discute de l'utilisation de ThinkPHP pour créer des outils de collaboration en temps réel, en se concentrant sur la configuration, l'intégration WebSocket et les meilleures pratiques de sécurité.

Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel? Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel? Mar 18, 2025 pm 04:57 PM

L'article discute de l'utilisation de ThinkPHP pour les flux de données boursières en temps réel, en se concentrant sur la configuration, la précision des données, l'optimisation et les mesures de sécurité.

See all articles