2013-05-03 1 views
0

이 코드는 왜 이런 일이 일어나고 있는지 정말 당혹 스럽습니다. [R = 302, L]을 추가하면 내 링크가 완벽하게 작동하기를 바랍니다. 하지만 내가 그것을 추가하지 않으면 나는 단지 [L] 을 가지고있다. 그것은 오류 페이지로 간다. R과 R의 차이점은 브라우저의 주소 표시 줄이 업데이트되었는지 여부뿐입니다.페이지에 의도 한 페이지 대신 오류 페이지가 표시됩니다.

코드의 마지막 줄입니다. 난 당신이 강요하는 R=*** 플래그를 전달하여

내가 사용자가 입력 http://example.com 또는

http://example.com/home/ 내가 같은 URL을 내부적으로 http://example.com/home

# Do not remove this line, otherwise mod_rewrite rules will stop working 

RewriteBase/

AddHandler application/x-httpd-php .css 

AddHandler application/x-httpd-php .js 
Options +Multiviews 

RewriteEngine On 

#NC not case sensitive 
#L last rule don't process futher 
#R 301 changes the url to what you want 


#changes the host to make sure it has no www infront 
RewriteCond %{HTTP_HOST} !^example\.host56\.com 
RewriteRule ^(.*)$ http://example.host56.com [R=302,L] 


#kills request with file extensions 
RewriteCond %{THE_REQUEST} \.(php|jsp|html|jsp|asp)/?\ HTTP/ 
RewriteRule .* - [F] 

#selects home 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\ HTTP/1.1$ 
RewriteRule ^.*$ home/ [L] 
+0

실제로 요청을 처리하는 /home/index.php 또는 /home/index.html 파일이 있습니까? –

+0

/home/index.php가 중요하지 않아야합니다. 자동으로 색인 파일을 찾습니다. –

답변

0

할지 여부를 원하는 내부/침묵의 mod_rewrite을 위해 노력하고 있어요 브라우저를 사용하여 실제로 새 URL에서 서버에 대해 새 요청을 만듭니다. 후속 요청에서 호스트 이름은 이미 원하는대로이므로 다음 요청에서이 조건을 건너 뛰고 htaccess 논리의 나머지 부분에서 계속 진행합니다.

이것을 제거하면 L 플래그 만 남겨 두십시오. 당신이 처리해야하는 htaccess의 마지막 규칙임을 나타내므로 파일의 다음 룰은 절대로 실행되지 않습니다 (오류 페이지가 나타나는 것 같음).

+0

그 다음에 규칙이 없습니다. [L]을 삭제했지만 여전히 같은 오류가 발생합니다. 나는 R이 브라우저에서만 차이를 만들어 내고 업데이 트한다고 생각했지만 내부적으로는 여전히 동일한 내용을 제공해야만한다. –

+0

@Lpc_dark No.'R = ***'은 외부 브라우저로 방향을 바꾼다. 이 서버에 대해 두 번째 요청을합니다. 끔찍한 보안 구멍 (누군가가 자신의 사이트를 Google, Amazon 등으로 피싱 할 수 있기 때문에)에서 페이지를 새로 고침하지 않고 브라우저의 URL을 변경할 수는 없습니다. 그 뒤에 규칙이 없다는 것은 무엇을 의미합니까? '[R = 302, L]'다음에 규칙이 두 개 있는데, 그들은 단지 트리거되지 않습니다. –

+0

아니요. 마지막 규칙에 대해 이야기하고 있습니다. 나는 첫 번째 작품은 두 번째 작품과 세 번째 작품이 내가하는 것에 대한 것임을 안다. 나는 리다이렉트 (redirect)를 의미하는 R이 301 (영구적) 또는 302 (임시)를 보내고, 브라우저가 재 장전된다는 것을 안다. 마지막 규칙에 대해 R이 페이지가없는 동안 R이 페이지를로드하는 이유는 무엇입니까? 동일한 도메인에 있습니다. –

관련 문제