2013-04-22 2 views
0

MAMP에 내 사이트를 구축하고 며칠 후 마침내 .htaccess 파일을 얻은 후 내 의지대로 작업합니다. 하지만 지금은 라이브 환경에 업로드 할 때 같은 행동하지 않습니다! 다른 버전이 있습니까? MAMP가 자동으로 처리하는 파일에 오류가 있기 때문입니까?.htaccess MAMP와 라이브 환경의 차이점

그렇지 않은 경우 이러한 특수 파일은 기본 RewriteRule을 사용합니다. 스크립트/이미지/mediacontent/서비스 /의 robot.txt 작동하지만 NOT (login.php, hybridauth, 블로그) \w+

#start 
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

# main site 
RewriteCond %{REQUEST_URI} !^/scripts/(.*\.js)$ 
RewriteCond %{REQUEST_URI} !^/styles/(.*\.css)$ 
RewriteCond %{REQUEST_URI} !^/images/(.*\.jpg|.*\.png|.*\.gif)$ 
RewriteCond %{REQUEST_URI} !^/mediacontent/(.*\.jpg|.*\.png)$ [NC] 
RewriteCond %{REQUEST_URI} !^/services/(.*\.php)$ 
RewriteCond %{REQUEST_URI} !^/login\.php$ 
RewriteCond %{REQUEST_URI} !^/hybridauth/$ 
RewriteCond %{REQUEST_URI} !^/blog/$ [NC] 
RewriteCond %{REQUEST_URI} !^/robot.txt$ 

RewriteRule (\w+) index.php?page=$1 [NC,L] 
+0

작동하지 않는 것들에 대해 "302 Moved Temporarily"를 얻습니다. – Backer

답변

0

, 당신은 전체 요청하지만의 일부를 캡처하지 않습니다.

에서 Escape sequences

\
있는 "단어"문자

A "단어"W 문자는 문자 나 숫자 또는

이 의미 밑줄 문자, 점 .입니다 , 슬래시 /, 하이픈 - 또는 밑줄 _ 옆에있는 다른 특수 문자는 그렇지 않습니다. 포함.

보이는 조건에서 모든 기존 파일과 디렉토리를 규칙에서 제외하고자합니다. 당신은

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ index.php?page=$0 [L] 

이 규칙은 특수 문자를 포함한 전체 경로를 캡처하고 index.php이 전달과 같은를 얻을 수 있습니다. 그러나 Javascript 소스, CSS 파일, 이미지 등과 같은 모든 실제 파일도 제외됩니다.

+0

은 내 것과 같지만 코드는 적습니다. 문제는 여전히 hybridauth 및 blog 폴더에서 발생합니다. 해당 폴더의 컨텐츠와 관련이있을 수 있습니까? 블로그 - permalinks가있는 wordpress 폴더입니다. hybridauth - 로그인을 캡처해야하는 index.php 파일이 있습니다. 이러한 폴더와 파일은 무시되고 /index.php?page= 결과가 표시됩니다. – Backer

+0

http://www.mysite.com/blog/index.php를 사용하면 "500 Internal Server Error"가 표시되고 http://www.mysite.com/hybridauth/ "302 Moved Temporarily" – Backer

+0

이제 마침내 성공했습니다. 라이브 환경에서 모든 파일을 삭제 한 다음 다시 업로드했습니다. 첫 번째 업로드시 추가 된 이상한 것들이어야합니다. – Backer

0

모든 .htaccess 파일을 제거한 후 문제가 재 작성되지 않았 음을 확인합니다.

서버의 모든 파일을 삭제하고 다시 업로드하면 작동합니다.

참고 : 좋은 FTP 응용 프로그램을 사용하십시오.

관련 문제