안녕하세요.
서버를 새로 설치하고 Xe를 설치하는데 셋팅에 문제가 생겨서 질문드립니다.
우선 제 환경은요.
OS: 우분투 서버 16.04 에 xe 1.8.21
Nginx: 1.11.1
MariaDB: 10.1.14
PHP: 7.0.7
이렇습니다.
Xe는 /usr/share/nginx/html/xe/
이렇게 넣어놨습니다.
웹브라우져에서 http://192.168.0.100/xe
이렇게 하면 화면은 뜨는데요.
xe설치중간에 rewrite 설정이 안되어있다고 설정해야된다고 나오길래
링크따라가서 파일을 작성해서(xe_rewrite.conf)
/etc/nginx/conf.d/xe_rewrite.conf 위치했습니다.
그래도 rewrite 설정이 안되었다고 계속 나오는데요
rewrite설정파일에 경로명을 정확하게 안적어줬는지 어떻게 된건지 잘 모르겠습니다.
(제가 코드를 잘 몰라서요.)
아래 내용중에 어떻게 수정하면될지 궁금합니다.
감사합니다.^^
해당 내용 입니다.
————————————————— xe_rewrite.conf ————————————————————————————————
# reserve XE Layout Template Source File (*.html)
rewrite ^/(layouts|m.layouts)/(.+)/(.+).html$ /index.php last;
# conf, query, schema
rewrite ^/(modules|addons|widgets)/(.+)/(conf|queries|schemas)/(.+).xml$ /index.php last;
# static files
rewrite ^/(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*) /files/$2/$3 last;
rewrite ^/(.+)/(files|modules|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) /$2/$3 last;
# rss, blogAPI
rewrite ^/(rss|atom)$ /index.php?module=rss&act=$1 last;
rewrite ^/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?mid=$1&act=$2 last;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?vid=$1&mid=$2&act=$3 last;
# trackback
rewrite ^/([0-9]+)/(.+)/trackback$ /index.php?document_srl=$1&key=$2&act=trackback last;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ /index.php?vid=$1&document_srl=$2&key=$3&act=trackback last;
# administrator page
rewrite ^/admin/?$ /index.php?module=admin last;
# document permanent link
rewrite ^/([0-9]+)$ /index.php?document_srl=$1 last;
# mid link
rewrite ^/([a-zA-Z0-9_]+)/?$ /index.php?mid=$1 last;
# mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?mid=$1&document_srl=$2 last;
# vid + mid link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ /index.php?vid=$1&mid=$2 last;
# vid + mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?vid=$1&mid=$2&document_srl=$3 last;
# mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?mid=$1&entry=$2 last;
# vid + mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?vid=$1&mid=$2&entry=$3 last;
—————————————————————————————————————————————————————————
댓글 7
site-available 폴더의 default파일에서 include xe_rewrite.conf; 하시면 될꺼에요.
/etc/nginx/conf.d/default.conf 파일이있구요. 이파일에서 수정을 했습니다.
xe_rewrite.conf 파일은 /etc/nginx/xe_rewrite.conf 로 옮겼습니다만
그대로 입니다. ㅜㅜ
전 apt-get으로 설치했더니 conf.d는 비어있고 site-available에서 설정을 하게되어있었어서...
제 default 파일은 대충
listen 80;
server_name default;
root /usr/share/nginx/html;
include xe_rewrite.conf;
location / {
index index.php index.html;
}
....
}
이런식으로 했더니 xe_rewrite.conf 인식을 하고 있었거든요.
1. xe_rewrite 를 설정파일에서 include 하였나요? ( nginx/conf.d/default.conf or~ )
2. nginx 재시작은 했나요?
server {
listen 80;
server_name www.xe.com;
root /usr/share/nginx/html/;
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx.error.log warn;
location / {
index index.php index.html;
}
# Block dot file (.htaccess .htpasswd .svn .git .env and so on.)
location ~ /\. {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Block .php file inside upload folder. uploads(wp), files(drupal, xe), data(gnuboard).
location ~* /(?:uploads|files|data)/.*\.php$ {
deny all;
}
# Add PHP handler
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
# xe rewrite
include /etc/nginx/xe_rewrite.conf;
}
}
조금씩 고치고 nginx restart 를 해봤는데도 여전히 안됩니다. ㅜㅜ
공식적으로 제공되는 xe_rewrite.conf 파일은 xe를 사이트 메인에 설치했을 때만 작동합니다. /xe 폴더에 설치하면 작동하지 않습니다.
폴더에 설치했을 때도 작동하도록 하려면 라이믹스에서 제공하는 파일을 참고하여 수정해 주시면 됩니다.