2013-08-14 1 views
0

아래에 표시된 폴더에 다시 작성할 특정 도메인을 설정했지만 사람들이 Google 애널리틱스에서 해당 폴더에 나타나도록했습니다.URL 루트로 하위 디렉토리를 사용하는 도메인 다시 작성. 애널리틱스의 URL에 해당 디렉토리가 여전히 표시됩니까?

짧은

:/C/-> 루트 때 도메인하지만, GA는 여전히 도메인/C/방문자의 흐름

루트 htaccess로 보여줍니다

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?certain-domain.com$ [NC] 
RewriteCond %{REQUEST_URI} !c/ [NC] 
RewriteRule ^(.*)$ /c/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
RewriteCond %{REQUEST_FILENAME}\.png -f 
RewriteRule ^(.*)$ $1.png 
RewriteCond %{REQUEST_FILENAME}\.txt -f 
RewriteRule ^(.*)$ $1.txt  
Options -Indexes 

및/C/'들. htaccess는 위의 동일한 PHP 및 txt 재 작성 유일한 차이점이있는 html5boilerplate one을 편집 한 것입니다.

하지만 Google 애널리틱스에서 방문자 중 절반 이상이 /c/index.php로 끝납니다.

방문자 흐름 : http://i.imgur.com/JwtcTFI.png

내가 보지 못한/C/내 URL에, 그래서 정말 무슨 일이 일어나고 있는지 아무것도하지 않습니다.

아이디어가 있으십니까? 상대 URL을 사용합니까 (나쁜 생각입니까?) 따라서 플로우가/c/폴더에서 계속됩니다.

도움 주셔서 감사합니다.

답변

0

됐지, 내가 답을 발견! www.domain이 (가) 도메인/c/index.php으로 리디렉션하고있는 것 같습니다. 나는 /c/.htaccess에서 "www"를 제거하는 재 작성 규칙을 가졌지 만 루트 .htaccess는 제거하지 않았습니다.

도메인 >> 디렉토리 다시 쓰기 전에 루트 htaccess에서 "www"를 제거하는 코드를 추가하여 을 수정했습니다. (루트 htaccess로에서)

내가

RewriteCond %{HTTP_HOST} ^(www.)?certain-domain.com$ [NC] 
RewriteCond %{REQUEST_URI} !c/ [NC] 
RewriteRule ^(.*)$ /c/$1 [L] 

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

을 추가

편집 (후 작동하지 않았다) : 그것은 또한 아마과 관련이있다 (www.), 나는 중복으로 인해 그것을 떨어 뜨렸다.

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /c/ 
RewriteRule ^(.*)$ /$1 [L,R=301] 
1

귀하의 규칙은 사람들이 /c/whatever에 직접 액세스하지 못하도록 차단합니다. 당신이를 방지하려면 추가 규칙을 추가해야합니다

RewriteCond %{THE_REQUEST} \ /c/ 
RewriteRule ^c/(.*)$ /$1 [L,R=301] 
+0

감사합니다,하지만 작동하지 않습니다 지금은 나 또한/C/htaccess로에 뿌리//의 C에 대한 재 작성을 추가 단지 RewriteCond %{HTTP_HOST} ^certain-domain.com$ [NC]

입니다. 나는 루트와 디렉토리 htaccess와 도메인/c /에서 작동하도록 노력했다. 이상하게도 도메인/c/c/도메인 루트로 리디렉션 할 때 작동합니다. 나는 또한 왜 그들이 /c/index.php에 처음 착륙하는지 알아 내려고 노력하고 있습니다. 나는 그것들이 그들의 URL에 나타날 지 모르겠다. – stephen

관련 문제