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教程有兴趣的朋友有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











많은 사용자들이 스마트 시계를 선택할 때 Huawei 브랜드를 선택하게 됩니다. 그 중 Huawei GT3pro와 GT4가 가장 인기 있는 선택입니다. 두 제품의 차이점을 궁금해하는 사용자가 많습니다. Huawei GT3pro와 GT4의 차이점은 무엇입니까? 1. 외관 GT4: 46mm와 41mm, 재질은 유리 거울 + 스테인레스 스틸 본체 + 고해상도 섬유 후면 쉘입니다. GT3pro: 46.6mm 및 42.9mm, 재질은 사파이어 유리 + 티타늄 본체/세라믹 본체 + 세라믹 백 쉘입니다. 2. 건강한 GT4: 최신 Huawei Truseen5.5+ 알고리즘을 사용하면 결과가 더 정확해집니다. GT3pro: ECG 심전도, 혈관 및 안전성 추가

오픈 소스에 대해 자세히 알아보려면 다음을 방문하세요. 51CTO Hongmeng 개발자 커뮤니티 https://ost.51cto.com 실행 환경 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. 애플리케이션을 생성하려면 파일을 클릭합니다. >새파일->CreateProgect. 템플릿 선택: [OpenHarmony]EmptyAbility: 프로젝트 이름 shici, 애플리케이션 패키지 이름 com.nut.shici 및 애플리케이션 저장 위치 XXX(한자, 특수 문자, 공백 없음)를 입력합니다. CompileSDK10, 모델: 스테이지. 장치

요청의 중국어 의미는 "요청"입니다. PHP의 전역 변수이며 "$_POST", "$_GET" 및 "$_COOKIE"를 포함하는 배열입니다. "$_REQUEST" 변수는 POST 또는 GET으로 제출된 데이터 및 COOKIE 정보를 얻을 수 있습니다.

Windows 11에서 캡처 도구가 작동하지 않는 이유 문제의 근본 원인을 이해하면 올바른 솔루션을 찾는 데 도움이 될 수 있습니다. 캡처 도구가 제대로 작동하지 않는 주요 이유는 다음과 같습니다. 초점 도우미가 켜져 있습니다. 이렇게 하면 캡처 도구가 열리지 않습니다. 손상된 응용 프로그램: 캡처 도구가 실행 시 충돌하는 경우 응용 프로그램이 손상되었을 수 있습니다. 오래된 그래픽 드라이버: 호환되지 않는 드라이버가 캡처 도구를 방해할 수 있습니다. 다른 응용 프로그램의 간섭: 실행 중인 다른 응용 프로그램이 캡처 도구와 충돌할 수 있습니다. 인증서가 만료되었습니다. 업그레이드 프로세스 중 오류로 인해 이 문제가 발생할 수 있습니다. 이 문제는 대부분의 사용자에게 적합하며 특별한 기술 지식이 필요하지 않습니다. 1. Windows 및 Microsoft Store 앱 업데이트

Python3.x에서 urllib.request.urlopen() 함수를 사용하여 GET 요청을 보내는 방법 네트워크 프로그래밍에서는 HTTP 요청을 보내 원격 서버에서 데이터를 가져와야 하는 경우가 많습니다. Python에서는 urllib 모듈의 urllib.request.urlopen() 함수를 사용하여 HTTP 요청을 보내고 서버에서 반환된 응답을 얻을 수 있습니다. 이 기사에서는 사용 방법을 소개합니다.

comcn과 com의 차이점: 1. comcn과 com은 의미상 차이는 있지만 접속 속도에는 차이가 없습니다. 2. comcn은 국제 도메인 이름으로 다음 사용자가 사용하는 글로벌 최상위 도메인 이름입니다. cn은 중국 회사 도메인 이름이지만 국내 상업 기관, 국내 도메인 이름은 기업만 등록할 수 있습니다. 3. 검색 우선 순위는 cn이 .cn 서버를 찾은 후 .cn을 먼저 검색하는 것입니다. 그러면 서버는 .com을 검색합니다. 4. cn은 cnnic China Internet Center Management에서 제공하고 com의 관리 조직은 해외에 있습니다.

1부: 초기 문제 해결 단계 Apple 시스템 상태 확인: 복잡한 솔루션을 살펴보기 전에 기본 사항부터 시작해 보겠습니다. 문제는 귀하의 기기에 있는 것이 아닐 수도 있습니다. Apple 서버가 다운되었을 수도 있습니다. Apple의 시스템 상태 페이지를 방문하여 AppStore가 제대로 작동하는지 확인하세요. 문제가 있는 경우 Apple이 문제를 해결하기를 기다리는 것뿐입니다. 인터넷 연결 확인: "AppStore에 연결할 수 없음" 문제는 때때로 연결 불량으로 인해 발생할 수 있으므로 인터넷 연결이 안정적인지 확인하십시오. Wi-Fi와 모바일 데이터 간을 전환하거나 네트워크 설정을 재설정해 보세요(일반 > 재설정 > 네트워크 설정 재설정 > 설정). iOS 버전을 업데이트하세요.

PHP의 요청 객체는 클라이언트가 서버로 보낸 HTTP 요청을 처리하는 데 사용되는 객체입니다. Request 객체를 통해 요청 메소드, 요청 헤더 정보, 요청 매개변수 등과 같은 클라이언트의 요청 정보를 얻어 요청을 처리하고 응답할 수 있습니다. PHP에서는 $_REQUEST, $_GET, $_POST 등과 같은 전역 변수를 사용하여 요청된 정보를 얻을 수 있지만 이러한 변수는 객체가 아니라 배열입니다. 요청사항을 보다 유연하고 편리하게 처리하기 위해
