AVS30 程序分析1
一、关于Rewrite的分析
AVS默认推荐使用Apache环境运行,因为程序中自带.htaccess文件,内容如下:
#如果服务器报500错误注释这2行 Options -Indexes Options +FollowSymLinks #反注释下面几行,如果你想使用图片缓存 #<ifmodule mod_expires.c> # ExpiresActive On # ExpiresDefault A1209600 # ExpiresByType text/html A1 #</ifmodule> # Uncomment following lines if Apache doesnt support MultiViews! <ifmodule mod_rewrite.c> RewriteEngine On # Uncomment the 2 lines below if you are using www.domain.com # as the baseurl for the site and users access your site # via domain.com (THIS IS REQUIRED FOR JQUERY TO WORK) #如果访问的不带www的域名则跳转到带www的域名 #e.g.: baidu.com => www.baidu.com RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f #如果请求的不是文件 RewriteCond %{REQUEST_FILENAME} !-d #如果请求的不是目录 RewriteRule .* loader.php [L,QSA] #重写到loader.php处理请求 </ifmodule>
对应的Nginx规则:
location / { #-f 判断是否文件 #-d 判断是否目录 #-e 判断是否文件或目录 if (!-e $request_filename){ rewrite ^(.*)$ /loader.php last; } }
如果配置中存在N多个location,last匹配后还会继续循环匹配,而break则立即终止匹配。
参考文章:Nginx Rewrite研究笔记 nginx中的break与last指令区别
<?php //die('Only enable this script if you dont have support for MultiViews'); $relative = ''; $loaders = array( 'ajax' => 1, 'album' => 1, 'albums' => 1, 'blog' => 1, 'blogs' => 1, 'captcha' => 1, 'categories' => 1, 'community' => 1, 'confirm' => 1, 'error' => 1, 'feedback' => 1, 'feeds' => 1, 'game' => 1, 'games' => 1, 'index' => 1, 'invite' => 1, 'loader' => 1, 'login' => 1, 'logout' => 1, 'lost' => 1, 'mail' => 1, 'notice' => 1, 'notices' => 1, 'photo' => 1, 'requests' => 1, 'search' => 1, 'signup' => 1, 'static' => 1, 'stream' => 1, 'upload' => 1, 'user' => 1, 'users' => 1, 'video' => 1, 'videos' => 1, 'edit' => 1 ); $query = ( isset($_SERVER['QUERY_STRING']) ) ? $_SERVER['QUERY_STRING'] : NULL; $request = str_replace($relative, '', $_SERVER['REQUEST_URI']); $request = str_replace('?' .$query, '', $request); $request = explode('/', trim($request, '/')); if (isset($request['0'])) { $page = $request['0']; if (isset($loaders[$page])) { require $page. '.php'; } else { header('HTTP/1.0 404 Not Found'); die(); } } else { header('HTTP/1.0 404 Not Found'); die(); }
这段代码就是检测/xxx允许访问的页面,然后访问对应的.php
eg: http://www.xxx.com/video实际上访问的是/video.php
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了AVS30 程序分析1,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

De nombreux utilisateurs choisiront la marque Huawei lors du choix des montres intelligentes. Parmi eux, les Huawei GT3pro et GT4 sont des choix très populaires. De nombreux utilisateurs sont curieux de connaître la différence entre Huawei GT3pro et GT4. Quelles sont les différences entre Huawei GT3pro et GT4 ? 1. Apparence GT4 : 46 mm et 41 mm, le matériau est un miroir en verre + un corps en acier inoxydable + une coque arrière en fibre haute résolution. GT3pro : 46,6 mm et 42,9 mm, le matériau est du verre saphir + corps en titane/corps en céramique + coque arrière en céramique 2. GT4 sain : en utilisant le dernier algorithme Huawei Truseen5.5+, les résultats seront plus précis. GT3pro : ajout d'un électrocardiogramme ECG, d'un vaisseau sanguin et de la sécurité

Pour en savoir plus sur l'open source, veuillez visiter : 51CTO Hongmeng Developer Community https://ost.51cto.com Environnement d'exploitation DAYU200 : 4.0.10.16SDK : 4.0.10.15IDE : 4.0.600 1. Pour créer une application, cliquez sur Fichier- >nouveauFichier->CréerProgect. Sélectionnez le modèle : [OpenHarmony] EmptyAbility : indiquez le nom du projet, shici, le nom du package d'application com.nut.shici et l'emplacement de stockage de l'application XXX (pas de chinois, de caractères spéciaux ou d'espaces). CompileSDK10, modèle : étape. Appareil

La signification chinoise de request est "request". Il s'agit d'une variable globale en PHP et c'est un tableau contenant "$_POST", "$_GET" et "$_COOKIE". La variable "$_REQUEST" peut obtenir des données et des informations COOKIE soumises par POST ou GET.

Pourquoi l'outil Snipping ne fonctionne pas sous Windows 11 Comprendre la cause première du problème peut aider à trouver la bonne solution. Voici les principales raisons pour lesquelles l'outil de capture peut ne pas fonctionner correctement : L'assistant de mise au point est activé : cela empêche l'ouverture de l'outil de capture. Application corrompue : si l'outil de capture plante au lancement, il est peut-être corrompu. Pilotes graphiques obsolètes : des pilotes incompatibles peuvent interférer avec l'outil de capture. Interférence provenant d'autres applications : d'autres applications en cours d'exécution peuvent entrer en conflit avec l'outil de capture. Le certificat a expiré : une erreur lors du processus de mise à niveau peut provoquer ce problème. Solution simple. Celles-ci conviennent à la plupart des utilisateurs et ne nécessitent aucune connaissance technique particulière. 1. Mettez à jour les applications Windows et Microsoft Store

Comment utiliser la fonction urllib.request.urlopen() dans Python3.x pour envoyer une requête GET En programmation réseau, nous avons souvent besoin d'obtenir des données d'un serveur distant en envoyant une requête HTTP. En Python, nous pouvons utiliser la fonction urllib.request.urlopen() dans le module urllib pour envoyer une requête HTTP et obtenir la réponse renvoyée par le serveur. Cet article explique comment utiliser

La différence entre comcn et com : 1. Il existe des différences de signification entre comcn et com, mais il n'y a pas de différence de vitesse d'accès 2. comcn est un nom de domaine international et est un nom de domaine mondial de premier niveau utilisé par les institutions commerciales ; , alors que cn est un nom de domaine d'entreprise chinoise, les institutions commerciales nationales, les noms de domaine nationaux, seules les entreprises peuvent s'enregistrer ; 3. La priorité de recherche est que cn recherchera d'abord .cn. Après avoir trouvé le serveur .cn, le serveur .cn le fera. puis recherchez .com ; 4. cn est fourni par cnnic China Internet Center Management, l'organisation de gestion de com est à l'étranger.

Partie 1 : étapes de dépannage initiales Vérification de l'état du système Apple : avant d'aborder des solutions complexes, commençons par les bases. Le problème ne vient peut-être pas de votre appareil ; les serveurs Apple sont peut-être en panne. Visitez la page État du système d'Apple pour voir si l'AppStore fonctionne correctement. S'il y a un problème, tout ce que vous pouvez faire est d'attendre qu'Apple le résolve. Vérifiez votre connexion Internet : assurez-vous que vous disposez d'une connexion Internet stable, car le problème "Impossible de se connecter à l'AppStore" peut parfois être attribué à une mauvaise connexion. Essayez de basculer entre le Wi-Fi et les données mobiles ou de réinitialiser les paramètres réseau (Général > Réinitialiser > Réinitialiser les paramètres réseau > Paramètres). Mettez à jour votre version iOS :

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez
