2017-12-21 2 views
0

이 문제는 내 서버가 PHP7을 사용하도록 업그레이드되었을 때부터 시작되었으므로 그와 관련이 있다고 생각합니다.페이지가 URL에서 index.php없이 쿼리 문자열을 읽지 않습니다.

내 웹 사이트의 URL은 쿼리 문자열을 기반으로 페이지 콘텐츠를 작성합니다. 예를 들어 : 내가 할 때

example.com/?prop=one 
example.com/?prop=two 
example.com/?prop=three 
etc... 

그러나 어떤 이유로

, 다음

$prop = $_REQUEST["prop"]; 

나 :

$prop = $_GET["prop"]; 

그것은 지정된 쿼리 문자열 값을 인식하지 않습니다. 즉

example.com/index.php?prop=one 
example.com/index.php?prop=two 
example.com/index.php?prop=three 

, 나는 prop 쿼리 문자열 값을 잡을 수있어 미세한 ("index.php에"의 추가를 주) 작품은 다음 URL 형식을 사용하는 반면에

, URL에 "index.php"가 있는지 문제없이. URL에 index.php를 사용하고 싶지 않은 경우 URL을 깨끗하게 유지하고 싶습니다. 이것은 기본적으로 해당 쿼리 문자열 값을 통해 콘텐츠를 변경하는 단일 페이지 정보 앱이므로 도메인 루트에 index.php가 필요하지 않아야합니다.

어떻게하면 해결할 수 있을까요? 이것은 서버에서 PHP7로 업데이트하는 것과 관련이 있습니까?

+2

이 문제는'.htaccess' 때문인 것 같습니다. rewrite_module을 설치하고 필요하지 않은 경우 다시 활성화해야합니다. –

+1

^... 다시 쓸 때 쿼리 문자열이 전달되는지 확인하십시오. –

+0

@PrateikDarji AFAIK, 다시 쓰기가 활성화됩니다. 다른 작업 (예 : http에서 https로)을 다시 쓰는 htaccess 규칙이 있으며 정상적으로 작동합니다. 하지만 index.php와 함께 작동하는 이유는 무엇입니까? 다시 쓰기 모듈은 어떻게 영향을 줍니까? –

답변

0

글쎄, 당황 스럽네.

기본적으로 문제는 루트에 index.html 파일이 있고 인덱스 파일을 지정하지 않으면 서버가 기본적으로 그 파일을 선택한다는 것입니다. 자연스럽게 PHP가 존재하지 않아 쿼리 문자열 값이 올바르게 읽히지 않는다는 인상을주었습니다. index.html 파일의 이름을 변경하면 모든 것이 예상대로 작동합니다.

이전 서버의 설정이 index.html 대신 기본적으로 index.php 파일을 선택하도록 설정되었는지 궁금합니다.

나는이 전체 게시물을 삭제 하겠지만 다른 사람이 같은 문제를 가지고 있다고 가정하고 떠날 것입니다.

관련 문제