Apache URL 재 작성은 작동하지 않습니다
-
06-07-2019 - |
문제
httpd.conf 파일에서 나는 가지고 있습니다 AllowOverride FileInfo
. 다른 모든 파일과 함께 웹 서버의 최상위 레벨의 .htaccess 파일에서 다음과 같습니다.
RewriteEngine On
RewriteRule ^downloads/?$ index.php?page=downloads [L,NC]
그러나 그것은 작동하지 않습니다. MyWebsite/Downloads 및 MyWebsite/Downloads/Always는 404를 찾을 수 없습니다. 이유가 있습니까? 감사. (MyWebsite/index.php? page = 다운로드 하다 일하다).
그리고 변경할 때마다 Apache를 다시 시작합니다.
그리고 위의 코드를 httpd.conf에 넣을 때 웹 사이트는 전혀로드되지 않습니다.
내가 그냥한다면 괜찮습니다 RewriteEngine On
, 그러나 다른 작업을 수행하면 (rewritebase, rewriterule) 웹 브라우저는 연령을로드하려고 노력하고 마침내이 오류를 제공합니다.
사파리는 페이지를 열 수 없습니다.http://mk12.gotdns.com/”이 페이지가있는 서버가 응답하지 않기 때문에.
누구든지 무엇이 잘못되었는지 아는 사람이 있습니까?
편집 : 예를 들어, 다시 쓰기로 금지 된 CSS 파일을 만들 수 있지만 작동하지만 다운로드에서 index.php? page = 다운로드로 이동하는 모든 규칙은 서버가 응답하지 않습니다 (위 참조). 어떤 페이지 가든 웹 사이트가 전혀로드되지 않을 것입니다. 어떤 아이디어 ..?
해결책 4
그것은 효과가 있었다 !! 나는 코드를 잘못된 지점에 넣고 있었다. 그것은 httpd.conf에 있었지만 끝에있었습니다. 이동하십시오u003CDirectory> 그리고 그것의 좋은. 당신의 도움을 주셔서 감사합니다!
편집 : 또한 깃발이 다음과 같은 경우 작동하지 않는다는 것을 알았습니다. [L, NC]
. 그건 그래야만 해 [L,NC]
(공간 없음).
그래서 두 가지 문제가 안에 없었습니다u003CDirectory "/Library/WebServer/Documents"> 그리고 깃발 사이에 공백이있었습니다. 바라건대 이것은 미래에 다른 사람에게 도움이 될 것입니다.
다른 팁
재 작성 규칙을 디버그하는 가장 좋은 방법은 로깅을 다시 작성하여 무엇이 잘못되고 있는지 확인하는 것입니다.
아래와 같이 "다운로드"앞에 슬래시를 추가하는 데 피곤합니까?
RewriteRule ^/downloads/?$ index.php?page=downloads
편집 : 아래 코드를 사용해보십시오.
RewriteEngine On
RewriteBase /
RewriteRule ^downloads/?$ /index.php?page=downloads
다운로드 후 후행 슬래시와 물음표를 제거하고 Index.php 이전의 주요 슬래시를 제거하려고합니다.
RewriteEngine On
RewriteBase /
RewriteRule ^downloads$ index.php?page=downloads.