2010-01-31 2 views
0

첨부 된 코드를 확인하십시오.왜 vBulletin .htaccess 파일에 이러한 반복 구문이 포함되어 있습니까?

RewriteEngine on 

# If you are having problems or are using VirtualDocumentRoot, uncomment this line and set it to your vBulletin directory. 
# RewriteBase /forum/ 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule ^.*$ - [NC,L] 

RewriteRule ^threads/.* showthread.php [QSA] 
RewriteRule ^forums/.* forumdisplay.php [QSA] 
RewriteRule ^members/.* member.php [QSA] 
RewriteRule ^blogs/.* blog.php [QSA] 
ReWriteRule ^entries/.* entry.php [QSA] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule ^.*$ - [NC,L] 

RewriteRule ^(?:(.*?)(?:/|$))(.*|$)$ $1.php?r=$2 [QSA] 

답변

0

첫 번째 규칙은 다시 쓰기 프로세스를 중지하는 것입니다 즉시 요청 된 URL이있는 경우 기존 파일, 기호 링크 또는 디렉토리에 맵핑 될 수 있습니다. 다음 5 개의 규칙은 경로 접두사를 관련 파일에 매핑합니다. 그러나 L 플래그가 이러한 규칙에 설정되어 있지 않으므로 다시 쓰기 프로세스는 중지되지 않고 계속 진행되고 다음 규칙이 반복 될 때까지 다른 규칙을 테스트합니다.

0

나는 단지이 한 번

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule ^.*$ - [NC,L] 

가 두 번째 발생을 제거 할 수 있습니다 반복을 참조하십시오.

귀하의 SEO 친화적 인 URL을 PHP 스크립트 파일로 해결할 수 있습니다. 예를 들어이 들어 :

RewriteRule ^threads/.* showthread.php [QSA] 

이 domain.com/threads/something 같은 URL을 타고 프로세스 재 작성됩니다 showthread.php하기는

+0

예, 코드가 반복되는 이유는 무엇입니까? – Essam

관련 문제