Aktualisieren:

Aktualisieren:

Ich richte eine Joomla 3.x-Site mit Apache 2.4 auf einem Ubuntu 14.04-Server auf AWS EC2 ein. Das allein reicht aus, da die URL-Umschreibung problemlos funktioniert. Ich habe alle Apache-Probleme behoben, bevor ich Port 80 für Nginx freigegeben habe.

Ich habe kein besonderes Problem mit nginx, obwohl ich es gerade erst benutze und dies bereits die dritte Bereitstellung damit ist. Bei grundlegenden Dingen komme ich gut damit zurecht.

Ich habe ein Tutorial zuwieschmiedet man. Nachdem ich das eingerichtet hatte, wurde mir klar, dass nur die Indexseite richtig geladen wird, alle anderen Seiten erwarten eine index.php?Zwischendomäne und die netten URLs, z. B.

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

Ich habe so viele Leute gesehen, die auf dieses Problem gestoßen sind, aber entweder hosten sie Joomla direkt in Nginx oder direkt in Apache. Lösungen für Situationen, in denen Nginx vor Apache steht und Joomla hostet, funktionieren bei mir nicht. Wahrscheinlich habe ich keine richtigen Nginx-Kenntnisse, also haben Sie bitte Geduld mit mir. Unten sind die Konfigurationen:

#/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;
   }

Unten sind die Proxy-Parameter (obwohl dies nicht die echte IP-Adresse preisgibt, konnte ich sie in einem meiner vielen Versuche ermitteln. Ich werde das nach dem Hauptproblem klären müssen)

   #/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;

Unten finden Sie die Apache2-Portkonfiguration

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

   #Listen 80

   <IfModule ssl_module>
    Listen 443
   </IfModule>

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

Unten ist Apache Virtualhost

<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>

Ich wäre dankbar, wenn jemand auf die Fehlkonfiguration hinweisen könnte. Wie bereits erwähnt, habe ich, abgesehen von Apache, kein Problem mit dem Umschreiben von URLs. Danke.

Aktualisieren:

Fehler im Apache2-Fehlerprotokoll. Er hat nichts mit 404 in Nginx zu tun und hat die gleiche Ausgabe, wenn index.php?/ verwendet wird:

 #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()

verwandte Informationen