여러 가지 방법을 시도해 보았습니다. 많은 예제와 질문을 읽었으며 아직 완료 할 수없는 경우도 있습니다.
내가 원하는 것은 특정 URL 형식을 사용하여 특정 파일 및 기능에 대한 액세스를 강제하고 다른 파일 (심지어 기존 파일/디렉토리)에 대한 액세스 (가짜 404)를 거부하는 것입니다..htaccess : 기존 파일을 숨기고 있지만 RewriteRule을 통해 사용하십시오.
이 부분은 작동합니다
RewriteEngine On
RewriteRule ^([\w]+)$ /somefolder/index.php?page=$1 [L]
RewriteRule ^person/([\d]+) /somefolder/index.php?page=person&id=$1 [NC,L]
RewriteRule ^css/([\w]+\.css) /somefolder/css/$1 [NC,L]
RewriteRule ^images/([\d]{4}-[\d]{2}-[\d]{2}/[\d]+\.(gif|jpe?g)) /somefolder/images/$1 [NC,L]
다음 줄은, 그러나, 500 내부 서버 오류가 발생합니다
RewriteRule ^(.*)$ /somefolder/index.php?page=error [R=404]
내가 원하는을하는 경우 /somefolder/index.php (또는 다른 파일/디렉토리가 존재할 수도 있고 존재하지 않을 수도 있음)는 방문자가 요청하면 404와 오류 페이지를 반환해야합니다. 또한 나중에 추가 할 계획입니다.
ErrorDocument 404 /somefolder/index.php?page=error
.htaccess 파일은 루트에 있습니다. 이게 다 가능하니?
예제 :
(페이지 사용자가 액세스 및 다른 페이지에 링크)
http://example.com/breakfast ->http://example.com/somefolder/index.php?page=breakfast
(페이지으로 사용되는 스타일 시트)
http://example.com/css/default.css ->http://example.com/somefolder/css/default.css
(한 이미지는에 사용 문서)
http://example.com/images/2011-01-01/test.jpg ->http://example.com/somefolder/images/2011-01-01/test.jpg
(기타 모든 항목)
http://example.com/this/may.exist -> 404 + 오류 페이지
.. 누군가가 http://example.com/somefolder/css/default.css (존재)을 얻으려고하면 수신하지 못한다는 것을 의미합니다.
¿ '특정 URL 형식'은 정확히 어떻게됩니까? 가능한 경우 나머지 URL과의 차이점을 강조하는 설명과 함께 고정 된 문자열과 가변적 인 세그먼트를 지정하십시오. 그 정보는 당신이 원하는 것을 더 잘 이해하는 데 중요합니다. –
"형식"부분 중 하나는 페이지가 http://example.com/thispage와 같이 도메인 부분 뒤에 페이지 이름을 사용하여 액세스되어야한다는 것입니다. 실제 파일을 요청하면 오류가 발생합니다 (누락). – LGT