CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.2 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
제목 그대로입니다.
홈페이지의 게시판이 모바일에서 글을 쓰려고 하면 "no input file specified." 이 뜹니다.
사실 글이 안써져야 하는것은 맞습니다. 회원들만 글을 쓸 수 있게 했거든요.
그런데 글을 못쓸거라면 '쓰기' 버튼이 없거나
아니면 '로그인 후 글 작성하세요.' 등의 내용이 있어야 로그인을 하고 글을 쓸텐데
no input file specifie 라고 뜨면 홈페이지가 에러난 것처럼 보이지 로그인을 해야 한다고 생각이 들지는 않을 것 같아서요.
어떻게 해결할 수 있을까요?
예시 페이지 2개를 첨부해봅니다.
https://9tschool.net/xe/year20bbs
https://9tschool.net/xe/year20photo
모바일 보드는 스케치북 입니다.
댓글 15
https://9tschool.net/xe/index.php?mid=year20bbs&act=dispBoardWrite
https://9tschool.net/xe/index.php?mid=year20photo&act=dispBoardWrite
https://9tschool.net/xe/index.php?module=admin
등등... PC에서도 에러나는 주소가 꽤 많네요.
1. 혹시 서버 설정이나 .htaccess에서 ErrorDocument를 설정해 놓은 것이 있다면 지워 보세요.
2. /xe/ 폴더로 넘어가도록 하기 위해 .htaccess를 건드려 놓은 것이 충돌하고 있을 가능성도 있습니다.
쓰기 버튼이 뜨지 말아야 하는데 뜨는 것은 스킨 문제입니다.
호스팅 사에 문의해봐야 할까요? 자체 서버가 아니고 호스팅 이라서요..
내부의 파일 소스는 아래와 같습니다.
RewriteEngine On
# block direct access to templates, XML schema files, config files, dotfiles, environment, etc.
RewriteCond %{REQUEST_URI} !/modules/editor/(skins|styles)/
RewriteRule ^(addons|common/tpl|files/ruleset|(m\.)?layouts|modules|plugins|themes|widgets|widgetstyles)/.+\.(html|xml)$ - [L,F]
RewriteRule ^files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ - [L,F]
RewriteRule ^files/(env|member_extra_info/(new_message_flags|point))/ - [L,F]
RewriteRule ^(\.git|\.ht|\.travis|codeception\.|composer\.|Gruntfile\.js|package\.json|CONTRIBUTING|COPYRIGHT|LICENSE|README) - [L,F]
# static files
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/(addons|files|layouts|m\.layouts|modules|widgets|widgetstyles)/(.*) ./$2/$3 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)\.min\.(css|js)$ ./$1.$2 [L]
# rss, blogAPI
RewriteRule ^(rss|atom)$ ./index.php?module=rss&act=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?mid=$1&act=$2 [L]
# trackback
RewriteRule ^([0-9]+)/(.+)/trackback$ ./index.php?document_srl=$1&key=$2&act=trackback [L]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?mid=$1&document_srl=$2&key=$3&act=trackback [L]
# document category
RewriteRule ^([a-zA-Z0-9_]+)/category/([0-9]+)$ ./index.php?mid=$1&category=$2 [L,QSA]
# document permanent link
RewriteRule ^([0-9]+)$ ./index.php?document_srl=$1 [L,QSA]
# admin module link
RewriteRule ^admin/?$ ./index.php?module=admin [L,QSA]
# mid link
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA]
# mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ ./index.php?mid=$1&document_srl=$2 [L,QSA]
# mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?mid=$1&entry=$2 [L,QSA]
답변해주신 'ErrorDocument' 를 찾으려 했는데 찾을수가 없네요.
외부의 .htacess에도 'ErrorDocument'라는 문구는 없습니다. 다른 검색어로 검색을해볼까요?
자세히 답변해주시는데 잘 몰라서 죄송합니다.
RewriteCond %{HTTP_HOST} ^www\.9tschool\.net [NC]
RewriteRule ^(.*)$ http://9tschool.net/$1 [L,R=301]
RewriteEngine On
RewriteRule ^(.*) /xe/$1 [R=301,L]
# deny access to files that may contain sensitive information
RewriteRule ^(.*/)?\.(editor|git|ht|jshint|travis) - [L,F]
RewriteRule ^(codeception(.*)\.yml|composer(.*)\.(json|lock)|package\.json)$ - [L,F]
RewriteRule ^files/(attach|config|cache/store)/.+\.php$ - [L,F]
RewriteRule ^files/(env|member_extra_info/(new_message_flags|point))/ - [L,F]
# reserve XE Layout Template Source File (*.html)
RewriteRule ^(layouts|m.layouts|files/faceOff)/(.+)\.html$ - [L,F]
# reserve XE Template Source Files (*.html)
RewriteCond %{REQUEST_URI} !/modules/editor/
RewriteRule /(skins|m.skins)/(.+)\.html$ - [L,F]
# conf, query, schema
RewriteRule ^(modules|addons|widgets)/(.+)/(conf|queries|schemas)/(.+)\.xml$ ./index.php [L]
# static files
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*) ./files/$2/$3 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/(files|modules|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) ./$2/$3 [L]
# rss , blogAPI
RewriteRule ^(rss|atom)$ ./index.php?module=rss&act=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?mid=$1&act=$2 [L]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?vid=$1&mid=$2&act=$3 [L]
# trackback
RewriteRule ^([0-9]+)/(.+)/trackback$ ./index.php?document_srl=$1&key=$2&act=trackback [L]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?mid=$1&document_srl=$2&key=$3&act=trackback [L]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&document_srl=$2&key=$3&act=trackback [L]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&mid=$2&document_srl=$3&key=$4&act=trackback [L]
# document permanent link
RewriteRule ^([0-9]+)$ ./index.php?document_srl=$1 [L,QSA]
# mid link
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA]
# mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ ./index.php?mid=$1&document_srl=$2 [L,QSA]
# vid + mid link
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ ./index.php?vid=$1&mid=$2 [L,QSA]
# vid + mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ ./index.php?vid=$1&mid=$2&document_srl=$3 [L,QSA]
# mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?mid=$1&entry=$2 [L,QSA]
# vid + mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?vid=$1&mid=$2&entry=$3 [L,QSA]
#shop / vid / [category|product] / identifier
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_\.-]+)$ ./index.php?act=route&vid=$1&type=$2&identifier=$3 [L,QSA]
###Start Kloxo PHP config Area
### begin content - please not remove this line
#<IfModule mod_rewrite.c>
# ## MR -- authentically for letsencrypt for webroot-based
# RewriteRule /\.|^\.(?!well-known/) - [F]
#</FilesMatch>
### MR -- using php version different with default php
### 1. Using suphp
### - Copy between '#<FilesMatch \.php$>' to '#</FilesMatch>' and
### then remove '#' from '#<FilesMatch', '#</FilesMatch>' and one of '#SetHandler'
#<FilesMatch \.php$>
#SetHandler x-httpd-php
#SetHandler x-httpd-php52
#SetHandler x-httpd-php53
#SetHandler x-httpd-php54
#SetHandler x-httpd-php55
#SetHandler x-httpd-php56
#SetHandler x-httpd-php70
#SetHandler x-httpd-php71
#</FilesMatch>
### OR
### 2. Using fcgid
### - Copy from '#Options' to '#FCGIWrapper' and
### then remove '#' for one of '#FCGIWrapper'
#Options +ExecCGI
#<FilesMatch \.php$>
# SetHandler fcgid-script
#</FilesMatch>
#FCGIWrapper /usr/bin/php-cgi .php
#FCGIWrapper /usr/bin/php52m-cgi .php
#FCGIWrapper /usr/bin/php53m-cgi .php
#FCGIWrapper /usr/bin/php54m-cgi .php
#FCGIWrapper /usr/bin/php55m-cgi .php
#FCGIWrapper /usr/bin/php56m-cgi .php
#FCGIWrapper /usr/bin/php70m-cgi .php
#FCGIWrapper /usr/bin/php71m-cgi .php
### end content - please not remove this line
###End Kloxo PHP config Area
이 아이는 조금 더 기네요.
다른것은 다 비슷비슷한 얘기이고 맨 첫번째 4~5줄 때문에 그런것이 아닌가 생각은 드는데요.
혹시 수정해야할 점이 있을까요?
혹시 /xe/ 폴더 외부에 index.php 파일이 있나요? 없다면 그냥 빈 파일 하나 만들어서 넣어보고 (/xe/ 폴더 안에 있는 index.php를 복사하지 마세요) 혹시 증상이 달라지는지 확인해 보세요.
/xe/ 폴더 외부에 index.php 파일이 있습니다.
그래서
9tschool.net/index.php 로 주소창을 치면
9tschool.net/xe/index.php로 자동이동하여 페이지가 뜹니다.
그럼 .htaccess나 index.php 문제는 아닌 것 같네요.
/xe/ 폴더 안이든 밖이든 어딘가에 test.php라는 (또는 그 비슷한) 파일을 하나 새로 만들어
아래의 내용을 넣고 저장한 후, 그 파일 주소에 접속해 보세요.
<?php
header('HTTP/1.1 403 Forbidden');
echo 'TESTING';
?>
제 예상이 맞다면 TESTING 이라고 나오는 것이 아니라 No input file specified. 라고 나올 것입니다. 만약 그렇다면 "PHP에서 나와야 하는 에러화면이 이상하게 나온다. ErrorDocument 설정으로 에러화면을 가로채려다가 또다른 에러가 발생하는 것 같다."라고 위의 파일 내용 및 주소를 첨부하여 호스팅 업체에 문의하셔야 합니다.
굳이 테스트파일을 만들어서 실험해 보고 문의하라고 말씀드리는 이유는, 대부분의 호스팅 업체들이 RXE를 보면 무조건 고객 책임 또는 RXE 내부 문제라고 주장하기 때문에 그럴 빌미를 주지 않기 위해서입니다.
" xe폴더 안과 밖 모두 test.php 라는 파일을 만들고
<?php
header('HTTP/1.1 403 Forbidden');
echo 'TESTING';
?>
라고 하고 파일주소에 접속해봤습니다.
TESTING 이라고 나오는 것이 아니라 No input file specified. 라고 나옵니다.
PHP에서 나와야 하는 에러화면이 이상하게 나오는거죠.. ErrorDocument 설정으로 에러화면을 가로채려다가 또다른 에러가 발생하는 것 같습니다.
주소를 첨부해봅니다.
https://9tschool.net/test.php
https://9tschool.net/xe/test.php " 라고 문의해봤습니다. 결국 호스팅사가 좀 적극적으로 해결해주면 좋으련만..
자꾸 .htacess에다가 에러문구를 추가하라는 답변만 하네요.
혹시 php설정과는 관련이 없을지요? 구글링을 해보니 php 이야기도 좀 나오네요.
여기도 마찬가지입니다. 라고 해야겠네요.
호스팅사에는 내일 문의하고 다시 연구해봐야겠습니다. 좋은 밤 되십시오..^^
같은 증상이 있는 페이지가 XE라고 해도 고객에게 책임을 떠넘기지는 못하겠지요. ㅎㅎ