2014-03-03 4 views
0

.htaccess 파일을 사용하여 웹 페이지에서 파일 확장자 (.php)를 제거하고 있습니다. 다음과 같이이 사이트에서 사용하고있는 코드는 다음과 같습니다.htaccess .php 확장명을 제거하고 세션 변수가 전달되지 않았습니다.

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

# turn off index.php for home page 
RewriteRule ^index\.php/?$/[L,R=301,NC] 

## hide .php extension snippet 

# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L] 

# To internally forward /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
RewriteRule ^(.*?)/?$ $1.php [L] 

지금까지 너무 좋아하지만, 일부 웹 페이지는 $ 세션 변수와 .htaccess 파일이 전달되는 이러한 변수를 중지하고 있습니다. seesion 변수가 필요한 페이지는 전혀 표시되지 않으며 올바른 로그인 세부 정보를 제공하더라도 완전히 공백입니다. 나는 htaccess로 파일을 추가 할 때까지

<?php 
    session_start(); 
?> 

모든

가 잘 작동 : 나는 다음과 같이 해당 페이지의 선두에 나타납니다으로 session_start의 정확한 위치()의 구문을 확인했습니다.

일부 Apache 설명서를 읽은 후에 [QSA] 옵션을 포함해야한다는 것을 알고 있습니다. 위의 내용을 포함 시키려고했지만, 내가 얻은 것은 모두 500 개의 오류입니다.

위의 QSA를 포함시킬 필요가있는 부분을 누군가 지적 할 수 있습니까?

감사합니다,

안녕 모두, 귀하의 의견

감사합니다. 자주 말하는 것처럼 간단하게 유지하십시오. 그 해결책은 너무 간과해서 간과했다. 나는 기본적으로이 매개 변수의 전달에서 포함 파일을 제외/RewriteBase 후

RewriteCond %{REQUEST_URI} !^/checklogin\.php$ 

를 다음을 추가했습니다. Et Voila!

세션 문제가있는 다른 사람에게 도움이되기를 바랍니다.

모든 최선을,

밥 귀하의 의견

+2

빈 페이지가 종종 치명적인 오류가 나타난 것을 의미한다. error_reporting을 활성화합니다 :'ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); error_reporting (-1); 그리고 어떤 오류가 발생했는지 알려주십시오. 그리고 아파치 error_log에서'500'을 확인하십시오. –

+0

양식 제출 후로드 된 스크립트의 로그는 다음과 같습니다. Notice : 정의되지 않은 색인 : myusername in /www/sites/020/c16/www.lbfl.co.uk/web/checklogin.php on line 13 Notice : 정의되지 않은 색인 : mypassword in /www/sites/020/c16/www.lbfl.co.uk/web/checklogin.php on line 16 공지 사항 : 정의되지 않은 색인 : bollocks in/www/sites/020/c16/www .lbfl.co.uk/web/checklogin.php on line 19 그래서 폼에서 변수를 전달하지 않습니다 ?? 이 페이지는 www.lbfl.co.uk/client-pages.php에 있습니다. – bobfelstead

+0

정의되지 않은 색인은 500을 던지지 않을 것입니다. 귀하의 로그 파일에는 그 밖에 무엇이 있습니까? 질문을 수정하십시오. 댓글에서 로그를 읽는 것은 끔찍한 일입니다. –

답변

1

감사합니다. 자주 말하는 것처럼 간단하게 유지하십시오. 그 해결책은 너무 간과해서 간과했다. RewriteBase 뒤에 다음을 추가했습니다./

RewriteCond %{REQUEST_URI} !^/checklogin\.php$ 

기본적으로 포함 파일에서 매개 변수를 전달하는 것을 제외합니다. Et Voila!

세션 문제가있는 다른 사람에게 도움이되기를 바랍니다.

모든 최선을,

관련 문제