>  기사  >  php教程  >  ThinkPHP의 URL 재작성 + 라우팅 + 의사 정적은 SEO 효과를 달성합니다.

ThinkPHP의 URL 재작성 + 라우팅 + 의사 정적은 SEO 효과를 달성합니다.

高洛峰
高洛峰원래의
2016-10-17 09:37:001898검색

1. URL 재작성, URL에 Index.php 숨기기.

ThinkPHP는 PHP 프레임워크로서 단일 진입점을 가지므로 원래 URL이 그다지 친숙하지 않습니다. 그러나 ThinkPHP는 필요한 URL 형식을 사용자 정의하는 다양한 메커니즘을 제공합니다. Apache .htaccess 파일을 사용하면 SEO에 더 도움이 되는 사용자 친화적인 URL 주소를 사용자 정의하는 것이 가능합니다.

.htaccess 파일은 Apache 서버의 구성 파일로 관련 디렉터리의 웹 페이지 구성을 담당합니다. .htaccess 파일의 다시 쓰기 규칙을 사용하여 ThinkPHP URL에서 index.php 파일(즉, 항목 파일)을 숨길 수 있습니다. 이는 의사 정적 ThinkPHP URL의 첫 번째 단계이기도 합니다.

예를 들어 원래 URL은 다음과 같습니다.

http://www.baidu.com/index.php/Index/insert

index.php를 제거하면 URL은 다음과 같습니다. :

http://www.baidu.com/Index/insert

이렇게 하면 http://웹페이지 주소/응용 모듈 이름/작업 이름[/변수 매개변수]가 됩니다. 일반적인 URL 형식.

Apache httpd.conf 구성 파일 변경

1. mod_rewrite.so 로드

mod_rewrite.so 모듈이 로드되었는지 확인(다음 구성 앞의 # 제거) :

LoadModule rewrite_module module/mod_rewrite.so

2. AllowOverride 구성을 변경합니다.

.htaccess 파일을 읽어야 하는 디렉터리를 변경하고 원래 디렉터리를 주석 처리합니다.

#

AllowOverride None을 AllowOverride FileInfo 옵션으로 변경합니다.

변경된 구성은 다음과 같습니다.

#

AllowOverride FileInfoOptions

.htaccess는 디렉터리에 따라 제어됩니다. 즉, .htaccess 파일을 읽어야 하는 디렉터리는 실제 특정 Apache 구문 분석 디렉터리에 따라 구성되어야 합니다. 가상 호스트가 .htaccess 제어를 제공하는 경우 일반적으로 구성된 것입니다.

3. .htaccess 파일 다시 쓰기 규칙 추가

index.php를 숨겨야 하는 디렉터리에 .htaccess 파일을 만들고 다음 규칙 코드를 작성합니다.

RewriteEngine 켜기

#index.php를 표시하지 않음

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

4.

프로젝트 구성 파일 Conf/config.php를 편집하고 URL 모드를 2(다시 쓰기 모드)로 구성합니다.

'URL_MODEL'=>2,

이 시점에서 , 각 구성이 완료되었습니다. 각 구성 파일을 저장한 후 Apache 서버를 다시 시작하고 런타임 디렉터리에서 프로젝트 캐시 파일을 삭제합니다. 브라우저에서 숨겨진 index.php 뒤에 있는 주소에 액세스하여 성공 여부를 테스트합니다.

http:// www.baidu.com/ html/myapp/Index/index

액세스에 성공하면 Apache .htaccess 파일의 다시 쓰기 규칙을 사용하여 index.php 항목 파일의 구성을 숨기는 것이 성공합니다. .

2. URL 길이를 단축하도록 라우팅을 구성합니다.

common

//开启路由器

 'URL_MODEL' => 2,

 'URL_ROUTER_ON' => true,

 'URL_ROUTE_RULES' =>  array(

  'index' => "Home/Index/index",

  'test'  => "Home/Index/test", 
  //URL/test.html

  '/^C_(\d+)$/' => 'Index/index/user?id=:1'
  //短链接:http://localhost/index.php/C_9

 ),

구성 파일에 다음 코드를 추가합니다. 3. Pseudo-static, 접미사 .html을 URL에 추가합니다

ThinkPHP는 pseudo-static을 지원합니다. URL 설정 필수 URL 접미사를 설정할 수 있습니다. 프로젝트 구성 파일 Conf/config.php를 편집하고
URL_HTML_SUFFIX 매개변수를 다음과 같이 구성합니다.
'URL_HTML_SUFFIX' => '.html',

런타임 디렉터리에서 프로젝트 캐시 파일을 삭제하여 구성을 적용하려면 브라우저에서 다음 주소에 액세스하세요. 효과는 동일합니다:

http://127.0.0.1/html/myapp/index.php/Index/index
http: //127.0.0.1/html/myapp /index.php/Index/index.shtml

매개변수 구성에서 다른 필수 접미사도 구성할 수 있습니다. 접미사 설정에는 .
Pseudo-static을 설정한 후, 어디에서나 URL의 일관성을 유지하려면 U 메소드를 사용하여 템플릿에서 자동으로 URL을 생성하는 것이 좋습니다. 자세한 내용은 "URL 자동 생성을 위한 ThinkPHP U 메소드"를 참조하세요.

팁:
ThinkPHP pseudo-static에는 오해하기 쉬운 측면이 있습니다. pseudo-static을 구성한 후 시스템이 자동으로 xxx.html과 같은 URL을 생성합니다. 실제 상황은 그렇지 않지만 위에서 언급한 것처럼 pseudo-static을 구성한 후 .html과 같은 접미사가 있는지 여부는 접미사가 없는 URL에 액세스하는 것과 동일한 효과를 갖습니다. 따라서 의사 정적을 사용하는 경우 정적 접미사를 수동으로 추가하거나 ThinkPHP U 메서드를 사용하여 접미사가 포함된 URL 주소를 자동으로 생성할 수만 있습니다. 여기서는 물론 U 메소드를 사용하여 의사 정적 주소로 URL 형식을 자동으로 생성하는 것이 좋습니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.