Drupal에서 어떤 페이지의 URL 표시 줄에 .php를 추가하면 404 메시지가 나타납니다. 깨끗한 URL이 활성화되었습니다. 이 페이지는 분명히 .php이지만 .htaccess는 사용자가 URL 표시 줄의 URL 확장자를 조작 할 수 없도록합니다. .htaccess를 사용하면 어떻게 할 수 있습니까? 현재 파일 확장자가 생략되었지만 해당 기능을 추가하려고합니다. 고맙습니다.
또한이 질문은 Drupal과 관련이 없습니다. 나는 Drupal에 대해서만 언급했다.허용되지 않는 URL에 404를 표시하도록 .htaccess를 설정하는 방법은 무엇입니까?
답변
나는 드루팔 (Drupal을 사용하지 않는다. 그러나 일반적인 PHP 애플리케이션에서는 모든 요청이 일부 유효성 검사를 수행하고 오류시 404를 던집니다.
easy-peasy
파일에 PHP 코드가 포함되어 있기 때문에 확장자가 .php
일 필요는 없습니다. 인터넷을 통해 파일에 액세스 할 때 더욱 그렇습니다. 드루팔 그것이 page
일치하는 경로에 대한 데이터베이스입니다 확인합니다 그러자
당신이 http://mysite.com/page을 요청하고 드루팔의 같은 .htaccess
을 사용하고
index.php?q=page
에 전달됩니다. 발견하면 해당 페이지의 내용을 표시하고, 맞지 않으면 404를 제공합니다.
PHP 확장명으로 모든 페이지에 액세스 할 수있게하려면 추가 규칙을 추가 할 수 있습니다. PHP 파일이 물리적으로하지 않는 모든 요청에서 .php
을 제거하는 .htaccess
파일이 존재 :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.php $1 [NC]
곰을 염두에 사실 (사이트의 방문자 제로 여분의 가치를 추가하는 것이 비록 그들이 같은 파일 확장자를 기억해야 뿐만 아니라 페이지 경로까지), 사용중인 서버 측 기술을 정확히 노출시켜 잠재적 인 공격자가 자신을 위해 수행 한 작업을 일부 수행하게됩니다.
희망이 있습니다.
더 자세히 설명해주세요. 어떻게 콘텐츠를 기존 페이지로 리디렉션 할 수 있습니까? 그 일이 일반적인 관행/전형적인 방법입니까?
예 대부분의 프레임 워크와 CMS에서 사용되는 매우 일반적인 방법입니다.
원리는 간단하다 : 당신이 설정하여 .htaccess
실제 파일이나 디렉토리를 일치하지 않는 모든 요청은 프론트 컨트롤러, 응용 프로그램의 루트 디렉터리에 일반적으로 index.php
로 리디렉션 될 수 있도록. 이 프론트 컨트롤러는 URL을 분석하고 필요한 작업을 호출하여 요청을 처리합니다.
이렇게하면 다시 쓰기 규칙을 하나만 최소화 할 수 있으며 맞춤형 404 페이지를 제공 할 수 있습니다.
- 1. 디버거 메시지를 표시하도록 로거를 설정하는 방법은 무엇입니까?
- 2. htaccess를 물음표로 다시 작성하는 방법은 무엇입니까? 원래 URL에
- 3. .htaccess를 사용하여 모든 URL에 "index.php"를 삽입하는 방법은 무엇입니까?
- 4. 특정 키만 표시하도록 팝업 키보드를 설정하는 방법은 무엇입니까?
- 5. 일부 페이지의 경우 탭바를 숨기고 다시 표시하도록 설정하는 방법은 무엇입니까?
- 6. htaccess를 특정 파일에 파일 유형을 설정하는 방법은 무엇입니까?
- 7. 스타일 표의 열이 허용되지 않는 이유는 무엇입니까?
- 8. Sharepoint> 목록에서 허용되지 않는 문자는 무엇입니까?
- 9. F # 레코드에 AllowNullLiteralAttribute가 허용되지 않는 이유는 무엇입니까?
- 10. 동적 생성 URL에 htaccess를 사용하는 방법
- 11. 'IN'이 허용되지 않는 것처럼 MySQL 쿼리를 바꾸는 방법은 무엇입니까?
- 12. IIS 용 .htaccess를 만드는 방법은 무엇입니까? 가능한가?
- 13. CodeIgniter는 - 허용되지 않는 키 문자
- 14. JSP의 스프링 보안 - 허용되지 않는 동작을 클릭하십시오.
- 15. NotifyIcon을 항상 표시하도록 설정하는 방법 및 Windows 자체에서 숨기지 않는 방법
- 16. 파일 다운로드 HTTP 처리기에서 404를 처리하는 가장 좋은 방법은 무엇입니까?
- 17. 404를 보내야합니까?
- 18. IE url에 후크를 설정하는 방법
- 19. 커서 좌표를 표시하도록 Eclipse를 구성하는 방법은 무엇입니까?
- 20. htaccess를 통해 단일 도메인의 동적 하위 도메인을 처리하는 방법은 무엇입니까?
- 21. 입력 태그가 양식 태그 내에서 직접 허용되지 않는 이유는 무엇입니까?
- 22. ruby on rails .htaccess를 만드는 방법은 무엇입니까?
- 23. XP에서 httpd.conf의 .htaccess를 활성화하는 방법은 무엇입니까?
- 24. htaccess를 사용하여 이미지 경로를 변경하는 방법은 무엇입니까?
- 25. WAMP 서버에서 .htaccess를 사용하는 방법은 무엇입니까?
- 26. .htaccess를 사용하여 gziped 글꼴을 제공하는 방법은 무엇입니까?
- 27. PHP에서 .htaccess를 사용하여 URL을 리디렉션하는 방법은 무엇입니까?
- 28. .htaccess를 사용하여 PHP에서 URL을 리디렉션하는 방법은 무엇입니까?
- 29. mod_rewrite/htaccess를 사용하여 앵커가있는 URL을 탐지하고 리디렉션하는 방법은 무엇입니까?
- 30. QComboBox 또는 QSpinBox를 허용되지 않는 값으로 설정하십시오.
나는 다음과 같이 다시 쓰겠습니다 : 사용자가 존재하지 않는 URL을 쓰지 못하게하는 방법? 그리고 당신은 대답을 압니다. –
@OZ_ 독서 질문 본문은 일반적으로 질문을 이해하는 데 도움이됩니다. –
Drupal URL은 실제 PHP 파일을 가리 키지 않으며 요청을 처리하는'index.php '로 리디렉션되는 가상 URL입니다. 따라서 URL에'.php '를 추가하면 404가 제공되기 때문에 URL이 존재하지 않기 때문입니다. –