나는 두뇌 경련이있다. htaccess를 사용하여 페이지를 다시 쓰고 때로는 전달되는 변수에 /
(슬래시)이 포함됩니다. 때로는 슬래시가 있고 때로는 존재하지 않을 것입니다. 그러나이 모든 것이 하나의 변수로 취급된다는 것은 매우 중요합니다. 나는 정말로 str_replace()
으로 모든 내 페이지를 다시 프로그램하지 않고 -
을 /
으로 전환 한 다음 데이터베이스를 호출합니다. 예를 들어 : htaccess "/"가있는 정규 표현식
http://www.example.com/accounting/finance.htm
Accounting/Finance
RewriteRule ^([A-Za-z]+.*[A-Za-z]*)\.htm$ mypage.php?page=$1 [L,NC]
그러나 그것은 그것을 좋아하지 않는다.
누군가 나를 도울 수 있습니까?
미리 감사드립니다.
코멘트에 회신은/
특정 내가 찾고 규칙이 같은 것입니다 .....
[문자열의 시작] ... 1 개 이상의 문자 답변 ... [1 개 이상의 문자가 뒤 따르는] .htm [문자열의 끝]
아래의 두 답변은 작동하지 않습니다 ... 나는 그것이 디렉토리로 취급하고 있습니다. 실제 "파일 이름". 마자 내가 얻을 수 있다면 ... 페이지가 잘 작동
임 녹슨하지만 당신은 ([A-ZA-Z /]) 같은 것을 할 수 있습니까? –
@DevinM 나는 [A-Za-z /] +를 시도해 봤지만 그렇게 생각하지 않았습니다. 나는 또한 [A-Za-z \ /] +와 [A-Za-z] + \/* [A-Za-z] + \ .htm을 시도해 보았다. – n0nag0n
당신의 예제가 작동하지 않는 이유는 ". *"가 URL 끝에 모든 것을 탐욕스럽게 먹고 있기 때문에 ".htm"과 일치하는 것이 아무것도 없다는 것입니다. 그러나 일치하지 않을 URL이 무엇인지 명확하게 알 수는 없으므로 그 이상으로는 도움이되지 않습니다. 이 규칙이 ".htm"으로 끝나는 것과 일치하도록 하시겠습니까? – IMSoP