정적 키워드 만 사용하는 경우 별도의 규칙 대신 hash map을 사용하고 싶습니다. 해시 맵에 대한 찾기 작업의 복잡성은 O (n)의 반대 인 O (1)이므로 n 규칙입니다.
그래서 당신이 뭔가를 할 수 있습니다 :
عربية arabic.php
الأغاني songs.php
الفنان artist.php
는 그 다음에 일반 텍스트 파일을 설정하는 httxt2dbm
를 사용
RewriteMap arabic-keywords dbm:/path/to/file/arabic-keywords.map
초기 키워드 맵 형식의 일반 텍스트 파일입니다 해시지도 :
httxt2dbm -i arabic-keywords.txt -o arabic-keywords.map
그리고지도의 사용 :
RewriteCond %{arabic-keywords:$0} .+
RewriteRule .+ %0 [L]
일치하는 항목이없는 경우 해시 다시 쓰기 맵은 빈 문자열을 반환하므로 조건이 충족되는 경우에만 조건이 충족됩니다. 그러나 .htaccess 파일 context에는 RewriteMap
을 사용할 수 없습니다.
아파치는 요청할 때마다 .htaccess를 구문 분석해야합니다. 다시 쓰기 규칙을 VirtualHost 설정 (보통 httpd.conf)으로 옮겨야합니다.이 설정은 아파치가 시작될 때 한 번만 구문 분석됩니다. – Maerlyn
[이전 질문에 대한] (http://stackoverflow.com/questions/5302133/htaccess-rules-efficentway)? – Gumbo
@Gumbo 40에서 600으로 축척되었습니다. – Tom