업데이트:

업데이트:

aws ec2의 ubuntu 14.04 서버에 apache 2.4를 사용하여 joomla 3.x 사이트를 설정하고 있습니다. 그것만으로도 URL 재작성이 잘 작동하면 괜찮습니다. nginx용 포트 80을 해제하기 전에 모든 아파치 문제를 해결했습니다.

nginx를 거의 사용하지 않았음에도 불구하고 nginx에 특별한 문제가 없으며 이번이 3번째 배포입니다. 나는 기본적인 것들로 잘 빠져 나간다.

나는 다음에 대한 튜토리얼을 따랐다.방법을 만드는 방법. 그걸 설정한 후. 인덱스 페이지만 제대로 로드되고 다른 모든 페이지는 index.php?도메인과 귀여운 URL 사이에 예상된다는 것을 깨달았습니다. 예:

 stage.domain.com/bla/bla # doesn't work
 stage.domain.com/index.php?/bla/bla/ # works

나는 많은 사람들이 이 문제에 직면하는 것을 보았지만 그들은 nginx에서 직접 joomla를 호스팅하거나 Apache에서 직접 호스팅합니다. Apache 호스팅 Joomla 앞에서 nginx에 가까운 상황에 대한 솔루션이 내에서는 작동하지 않을 것입니다. 아마도 nginx를 제대로 이해하지 못했을 것이므로 양해해 주시기 바랍니다. 다음은 구성입니다.

#/etc/nginx/site-enabled/stage.domain.com.vhost
server {
   listen 80;
   server_name www.stage.domain.com stage.domain.com;
   
   root /var/www/html/vhosts/stage.domain.com/htdocs_april;

   index index.php index.html;

   location / {
            try_files $uri @proxy;

   }

   location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
        expires      5d;
   }

   location @proxy {
            proxy_pass_header Server;
            proxy_pass http://127.0.0.1:8000;
            include /etc/nginx/proxy_params;
   }

   location ~* \.php$ {
            proxy_pass http://127.0.0.1:8000;
            include /etc/nginx/proxy_params;
   }

아래는 Proxy_params입니다(실제 IP는 공개되지 않지만 많은 시험 중 하나를 통해 얻을 수 있었습니다. 주요 문제 이후에 정리해야 합니다).

   #/etc/nginx/proxy_params
   proxy_set_header Host $http_host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;

다음은 apache2 포트 구성입니다.

   #/etc/apache2/ports.conf
   NameVirtualHost *:8000
   Listen 8000

   #Listen 80

   <IfModule ssl_module>
    Listen 443
   </IfModule>

   <IfModule mod_gnutls.c>
    Listen 443
   </IfModule>

아래는 아파치 가상 호스트입니다

<virtualhost *:8000>
    # Admin email, Server Name (domain name) and any aliases
    ServerAdmin [email protected]
    ServerName stage.domain.com

    #RewriteEngine On
    # Index file and Document Root (where the public files are located)
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/html/vhosts/stage.domain.com/htdocs_april/
    <Directory /var/www/html/vhosts/stage.domain.com/htdocs_april/>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

   # php_flag log_errors on
    #php_flag display_errors off
    #php_value error_reporting 6143
    LogLevel warn
    ErrorLog  ${APACHE_LOG_DIR}/domain_error.log
    CustomLog ${APACHE_LOG_DIR}/domain_access.log combined
 </virtualhost>

누군가 구성이 잘못되었음을 지적해 주시면 감사하겠습니다. 앞서 언급한 것처럼 아파치만 사용하면 URL 재작성 문제가 발생하지 않습니다. 감사해요.

업데이트:

apache2 오류 로그의 오류는 nginx의 404와 관련이 없으며 index.php?/를 사용할 때 동일한 출력을 갖습니다.

 #Info Level
 [Fri Feb 27 22:51:47.862668 2015] [:error] [pid 12511] [client 127.0.0.1:58301] PHP Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/html/vhosts/stage.domain.com/htdocs_april/templates/stage2013/functions/tpl-init.php on line 313

 #Debug Level
 [Fri Feb 27 22:51:47.977454 2015] [deflate:debug] [pid 12511] mod_deflate.c(849): [client 127.0.0.1:58301] AH01384: Zlib: Compressed 49347 to 11157 : URL /index.php
 [Fri Feb 27 22:51:47.977925 2015] [headers:debug] [pid 12511] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()
 [Fri Feb 27 22:51:48.606561 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802):   [client 127.0.0.1:58304] AH01626: authorization result of Require all granted: granted, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.606593 2015] [authz_core:debug] [pid 12512] mod_authz_core.c(802): [client 127.0.0.1:58304] AH01626: authorization result of <RequireAny>: granted, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.607274 2015] [deflate:debug] [pid 12512] mod_deflate.c(849): [client 127.0.0.1:58304] AH01384: Zlib: Compressed 1537 to 544 : URL /templates/stage2013/html/mod_fpss/stage5/css/template.css.php, referer: http://stage.domain.com/
 [Fri Feb 27 22:51:48.607293 2015] [headers:debug] [pid 12512] mod_headers.c(845): AH01502: headers: ap_headers_output_filter()

관련 정보