Maison développement back-end tutoriel php ThinkPHP中url隐藏入口文件后接收alipay传值的方法_PHP

ThinkPHP中url隐藏入口文件后接收alipay传值的方法_PHP

May 31, 2016 pm 06:15 PM
thinkphp url 隐藏

本文实例讲述了ThinkPHP中url隐藏入口文件后接收alipay传值的方法。分享给大家供大家参考。具体方法如下:

现在公司项目的需求变化多端,项目使用的是Thinkphp2.0,而conf.php中设置的URL_MODEL=2,为了兼容.htaccess和隐藏index.php,但在使用一些第三方接口时(例如支付宝或MSN开放平台),他们返回的参数往往含有一个?号,而URL_MODEL=2时,TP会自动将含有?的URL进行转换.

转换前:http://www.xxx.com/index.php/alipay/callback/?is_success/T/sign_type/MD5/notify_id/RqPnCoPT3K9/vwbh3I

转换后:http://www.xxx.com/alipay/callback/is_success/T/sign_type/MD5/notify_id/RqPnCoPT3K9/vwbh3I

转换后的网址将无法访问,而转换前的网址是可以访问的,这时需要临时针对alipay这个控制器,URL_MODEL=1,但在该控制器里C('URL_MODEL',1)是没有用的,因为TP会在入口文件App::run()时直接404了.

想了很多方法,先是修改它的配置文件Conf.php,结果发现会生成缓存文件~app.php,所以必须根据情况删除这个缓存文件,于是我对index.php入口文件进行了修改(事实上,放在任何App::run()之前都可以,你可以自行封装).

PHP实例代码:

代码如下:

// 定义ThinkPHP框架路径 
define('THINK_PATH', '不告诉你我的TP文件夹名/'); 
//如果网址中存在这样的形式就删除缓存配置文件,并创建一个标识 
if(strstr($_SERVER['REQUEST_URI'],'alipay/callback/')||strstr($_SERVER['REQUEST_URI'],'order.return_pay')){ 
    unlink('./home/Runtime/~app.php'); 
    //创建一个缓存文件做为标识 
    $fn= fopen('./home/Runtime/re_url_model.php','wb'); 
    fclose($fn); 
}elseif(file_exists('./home/Runtime/re_url_model.php')){ 
    unlink('./home/Runtime/re_url_model.php'); 
    unlink('./home/Runtime/~app.php'); 

 
//定义项目名称和路径 
define('APP_NAME', 'home'); 
 
define('APP_PATH', 'home'); 
 
// 加载框架入口文件 
 
require(THINK_PATH."ThinkPHP.php"); 
 
//实例化一个网站应用实例 
App::run(); 
?>


项目的配置文件Conf.php根据你自己的情况做一个判断即可.

PHP实例源码:

代码如下:

//兼容支付宝快捷登录的?请求 
if(strstr($_SERVER['REQUEST_URI'],'alipay/callback/')||strstr($_SERVER['REQUEST_URI'],'order.return_pay')){ 
    $my_array['URL_MODEL'] = 1; 

return $my_array;


这样,访问www.xxx.com或www.xxx.com/shipin/等任何非alipay控制器的页面时,网站依然是使用url_model = 2来隐藏index.php,使得URL友好.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
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)

Paramètres cachés de la fenêtre flottante de la méthode de saisie Win11 Paramètres cachés de la fenêtre flottante de la méthode de saisie Win11 Dec 30, 2023 pm 11:24 PM

Certains amis ne sont pas habitués à la fonction de fenêtre flottante de la méthode de saisie Win11, et cela semble toujours étrange à utiliser, ils veulent donc désactiver cette fonction de fenêtre flottante. Je vais maintenant vous présenter la méthode de fonctionnement correcte pour fermer la fenêtre flottante. Système win11. Suivez-le. Win11 masque la fenêtre flottante de la méthode de saisie 1. Ouvrez la touche de paramètres de l'ordinateur, puis sélectionnez « Heure et langue ». Après avoir entré, cliquez sur « Entrée » 2. Recherchez « Changer de méthode de saisie » dans « Paramètres avancés du clavier », puis changer "Langue du bureau" Cliquez sur la coche devant "Barre" puis entrez "Options de la barre de langue" 3. Après ouverture, nous cliquons ici sur "Masquer" pour fermer la fenêtre flottante de langue.

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Comment masquer les icônes de la barre des tâches Windows 11 ? Comment masquer les icônes de la barre des tâches Windows 11 ? Jan 06, 2024 am 08:38 AM

Dans le système win11, si nous trouvons les icônes de la barre des tâches gênantes, nous pouvons choisir de les masquer dans l'interface de débordement du coin de la barre des tâches. Cependant, les icônes de la barre des tâches de l'application ouverte ci-dessous ne peuvent pas être masquées. Regardons la situation spécifique. Comment masquer l'icône de la barre des tâches Win11 : 1. Centrez l'icône 1. Tout d'abord, si nous voulons masquer l'icône dans la barre des tâches ci-dessous, nous pouvons cliquer avec le bouton droit pour la sélectionner et cliquer sur "Détacher de la barre des tâches" 2. Mais si nous ouvrons cette application et sont en train de l'utiliser et c'est impossible à cacher. 2. Icône dans le coin inférieur droit 1. Si vous souhaitez masquer l'icône de l'application dans le coin inférieur droit, ouvrez d'abord les paramètres système. 2. Cliquez ensuite sur « Personnalisation » dans la barre latérale gauche, comme indiqué sur l'image. 3. Cliquez ensuite pour accéder à la barre des tâches à droite

Comment masquer les amis WeChat sans les bloquer ni les supprimer ? Comment masquer les amis WeChat sans les bloquer ni les supprimer Comment masquer les amis WeChat sans les bloquer ni les supprimer ? Comment masquer les amis WeChat sans les bloquer ni les supprimer Mar 13, 2024 pm 07:19 PM

Comment masquer les amis WeChat sans les bloquer ni les supprimer ? De nombreux utilisateurs souhaitent masquer certains amis mais ne savent pas comment le faire. Laissez ce site présenter soigneusement aux utilisateurs comment masquer les amis WeChat sans les bloquer ni les supprimer. Méthodes pour masquer les amis WeChat sans bloquer ou supprimer Méthode 1 : 1. Ouvrez d'abord le logiciel WeChat, recherchez le carnet d'adresses sur la page WeChat et cliquez sur « Mon ». 2. Ensuite, nous entrons dans la page des paramètres. 3. Recherchez l'option « Confidentialité » et cliquez dessus. 4. Cliquez ensuite sur « Ne le laissez pas voir ». 5. Accédez à la page Ne pas la laisser voir et cliquez sur « + » pour vérifier les amis que vous souhaitez masquer.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment masquer les œuvres dans les courtes vidéos Douyin Comment masquer les œuvres vidéo personnelles Comment masquer les œuvres dans les courtes vidéos Douyin Comment masquer les œuvres vidéo personnelles Mar 12, 2024 pm 12:49 PM

Il existe de nombreuses courtes œuvres vidéo fournies dans le logiciel d'application vidéo courte Douyin. Vous pouvez les regarder à votre guise, et elles sont toutes fournies gratuitement en permanence. Différents types de chaînes vidéo en direct sont ouverts et tout le contenu vidéo est original. . Offrez à chacun la façon la plus satisfaisante de regarder. Entrez votre compte pour vous connecter en ligne, et une variété de courtes vidéos passionnantes seront diffusées, qui sont recommandées avec précision en fonction de ce que tout le monde regarde chaque jour. Vous pouvez également entrer dans la salle de diffusion en direct pour interagir et discuter avec le présentateur, vous faisant ressentir. plus heureux. Les œuvres téléchargées par des particuliers peuvent également être masquées. C'est très simple à configurer en un seul clic. Vous pouvez voir partout où vous glissez vers le haut et vers le bas pour voir les commentaires en temps réel d'innombrables internautes. L'éditeur propose désormais des courtes vidéos détaillées en ligne sur Douyin. Les utilisateurs demandent des moyens de cacher leurs œuvres vidéo personnelles. Première courte vidéo ouverte de Douyin

Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Mar 01, 2024 pm 01:20 PM

La raison de l'erreur est NameResolutionError(self.host,self,e)frome, qui est un type d'exception dans la bibliothèque urllib3. La raison de cette erreur est que la résolution DNS a échoué, c'est-à-dire le nom d'hôte ou l'adresse IP qui était. La tentative de résolution n'a pas pu être trouvée. Cela peut être dû au fait que l'adresse URL saisie est incorrecte ou que le serveur DNS est temporairement indisponible. Comment résoudre cette erreur Il peut y avoir plusieurs façons de résoudre cette erreur : Vérifiez si l'adresse URL saisie est correcte et assurez-vous qu'elle est accessible Assurez-vous que le serveur DNS est disponible, vous pouvez essayer d'utiliser la commande "ping" dans la ligne de commande pour tester si le serveur DNS est disponible Essayez d'accéder au site Web en utilisant l'adresse IP au lieu du nom d'hôte si vous êtes derrière un proxy

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

See all articles