2014-02-26 4 views
1

겉으로보기에는 문제가 있지만 문제가되는 .htaccess 마법으로 해결할 수 있기를 바랍니다. 문제.htaccess를 사용하여 닫는 괄호로 리디렉션

배경 저는 현재 URL을 값 싸게 치장하는 htaccess로 파일을 사용하여 미디어 위키의 구현이있다.

www.mywebsite.org/index.php?title=George_Clooney_(actor)

를 htaccess로와 (코드 : mod_rewrite를하지 않고 주식 미디어 위키 구성에서 위키의 각 문서는 일반적으로 방문하여 액세스 할 수 있습니다

www.mywebsite.org/George_Clooney_(actor를 예상대로이 모든 노력

) 다음 같은 페이지로 이동하여 액세스 할 수 있도록 아래), 우리는이를 정리할 수있게되었습니다. 내부적으로 문제는 없습니다. 문제

문제의

요약 내 위키의 트래픽의 상당 부분은 내가 자동으로 회원의 게시물의 URL을 구문 분석 방법에 버그가 발견 vBulletin에에서 온다. 그들이 위의 링크를 추가하면 vBulletin은 URL을 BB 코드 링크로 구문 분석하지만 끝 괄호를 제외합니다. 사실, 최종 BB 코드는 일반적으로 다음과 같습니다

: 회원은 일반적으로 그것을 잡을하지 않기 때문에, 불행한 다음 링크가 존재하지 않는 페이지로 전송

[url]http://www.mywebsite.org/George_Clooney_(actor[/url]) 

닫히지 않은 개방 괄호가 검출되는 경우

www.mywebsite.org/George_Clooney_(actor

질문

은 괄호를 추가하기 위해, 희망 재기록 룰 통해 것이 가능 ?

우리의 위키는 매우 엄격한 명명 형식을 따르고 닫는 괄호가없는 여는 괄호가있는 기사는 어디에도있을 것으로 예상하지 않습니다. 모든 경우 괄호 안의 단어는 기사 이름의 끝에 있습니다. 우리는 "www.mywebsite.org/George_Clooney_(actor"를 방문하려고 나쁜 링크를 얻을 경우

ARTICLE_NAME 또는 Article_Name_ (유형)

그래서, 내가 좋아하는 것 : 우리의 문서 명명 규칙은 항상 중 하나입니다

내가 생각했던 다른 가능한 경로는 404 페이지의 기사 제안 섹션을 코딩하는 것입니다.이 작업이 조금 더 효과적 일 것이라고 생각합니다. 이 htaccess 계획이 제대로 작동하지 않으면 해결 방법이 될 것입니다.

다음은 현재 내 .htaccess 파일에 대한 내용입니다.

RewriteEngine On 
Options +FollowSymLinks 

# Require Subdomain 
RewriteCond %{HTTP_HOST} ^mywebsite.org [NC] 
RewriteRule ^(.*)$ http://www.mywebsite.org/$1 [L,R=301] 

# Pretty URL 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [PT,L,QSA] 

모든 도움을 주시면 감사하겠습니다. htaccess 및 올바른 정규식의 조합은 여전히 ​​꽤 새롭고 나에게 마법입니다.

답변

0

당신은 당신의 매우 첫 번째 규칙 (단지 라인 RewriteEngine On 아래)로이 규칙을 사용할 수 있습니다 : 이것은 URL에 하나의 실종 괄호가있는 가정입니다

RewriteRule ^(.*?\(.*?[^)])$ /$1) [R=301,L,NE] 

합니다.

+0

그 트릭을했습니다. 감사! – stealthify

+0

다행 이니 다행입니다. – anubhava

관련 문제