2016-06-26 4 views
0

아무에게도 다음 내용이 자동으로 리디렉션되지 않고 브라우저에서 URL이 눈에 띄게 변경되는 이유는 누구에게 설명 할 수 있습니까? 리디렉션은 작동하지만 눈에 띄게 작동합니다..htaccess가 자동으로 리디렉션하지 않는 이유는 무엇입니까?

예 URL :http://domain.com/_test/sportswire/uk/football/huddersfield

은 ... visibily 보여주는 쿼리 문자열 인수로 리디렉션합니다.

RewriteEngine on 
RewriteBase /_test/sportswire 

#favour naked domain over www 
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] 
RewriteRule ^(.*) http://%1/$1 [R=301,NE,L] 

#disallow trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

###THIS RULE### channel pages - territory/sport/channel/[res type?] 
RewriteRule ^(\w+)\/(\w+)\/(\w+)(?:\/(\w+))?$ channel.php?territory=$1&sport=$2&team=$3&res_type=$4 [L,NC,R=301] 

#channel pages - with item (if from external referrer) - territory/sport/channel/res_type/"item"/item_id/pretty 
RewriteRule ^(\w+)\/(\w+)\/(\w+)\/(\w+)\/story\/\w{11}\/[^\/]+$ channel.php?territory=$1&sport=$2&team=$3&res_type=$4&item=$5 [L,NC,R=301] 

내가/시도했다 읽어

  • 은 R 플래그 제거 (아무 기쁨을, 내가 자동으로 리디렉션 R 플래그 다른 .htaccess 파일이)
  • 추가/A를 제거 재 작성베이스,
  • 절대 URL을 사용하지 마십시오 (아니에요)

나는 아무것도에 없습니다 상당히 확신 (수행은 절대 하나를 시도) 행성 지구는 꽤 mod-rewrite로서 혼란 스럽다.

+0

downvoter/close : 1) 질문은 연구 노력을 보여줍니다. 2) 질문은 질문 제목과 시작 단락 모두에서 원하는 행동이 무엇인지 명확하게합니다. – Utkanos

+0

브라우저의 캐시를 지우려고 했습니까? 미안하지만 내 dv – starkeen

+0

@starkeen - 예, 기쁨이 없습니다. – Utkanos

답변

1

서버가 브라우저에 변경 사항을 알리지 않도록하기 위해 [R] 플래그를 모두 제거해보십시오.

htaccess 변경 사항은 즉시 적용되므로 서버를 다시 시작할 필요가 없습니다. 그러나 이전에 R=301을 시도했기 때문에 브라우저가 쿼리 문자열을 사용하여 URL로 직접 이동한다는 것을 기억하고 리디렉션하려는 URL을 서버에 요청하지 않을 수도 있습니다. 권장 변경 효과를 확인하려면 시크릿 모드 또는 비공개 브라우징 모드에서 새 브라우저 인스턴스를 시작하고 새 규칙을 테스트하십시오.

사이드 노트 : 왜 경로에있는 모든 /을 탈출하고 있습니까? 나는 네가 필요하다고 생각하지 않는다.

+0

고마워, 나는 이것을 줄 것이다. – Utkanos

1

[R] 플래그가 없어야합니다. 가능한 경우 Apache를 다시 시작하십시오. 가끔 도움이되는 것으로 나타났습니다. 다른 브라우저 또는 다른 URL을 사용해보십시오. 리디렉션을 캐시 할 수 있습니다.

+0

고마워, 나는 이것을 줄 것이다. – Utkanos

관련 문제