2016-08-22 2 views
0

Gibt es eine Möglichkeit zur Einrichtung nginx dafür: Ich möchte www.site.com/subdirectory/ und dass /subdirectory/ nehmen Dateien von /var/www/site/web/subdirectorySetup site.com/subdirectory/ nginx

Meine Website funktioniert, ich will nur, dass Setup /subdirectory/ Route

Ist das irgendwie möglich?

Edidet und hinzugefügt vHost nginx Konfiguration

server { 
    server_name server; 
    root /var/www/site/web; 

    location/{ 
     # try to serve file directly, fallback to app.php 
     try_files $uri /app.php$is_args$args; 
    } 
    # DEV 
    # This rule should only be placed on your development environment 
    # In production, don't include this and don't deploy app_dev.php or config.php 
    location ~ ^/(app_dev|config)\.php(/|$) { 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_split_path_info ^(.+\.php)(/.*)$; 
     include fastcgi_params; 
     # When you are using symlinks to link the document root to the 
     # current version of your application, you should pass the real 
     # application path instead of the path to the symlink to PHP 
     # FPM. 
     # Otherwise, PHP's OPcache may not properly detect changes to 
     # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 
     # for more information). 
     fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
     fastcgi_param DOCUMENT_ROOT $realpath_root; 
    } 

    # PROD 
    location ~ ^/app\.php(/|$) { 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_split_path_info ^(.+\.php)(/.*)$; 
     include fastcgi_params; 
     # When you are using symlinks to link the document root to the 
     # current version of your application, you should pass the real 
     # application path instead of the path to the symlink to PHP 
     # FPM. 
     # Otherwise, PHP's OPcache may not properly detect changes to 
     # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 
     # for more information). 
     fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
     fastcgi_param DOCUMENT_ROOT $realpath_root; 
     # Prevents URIs that include the front controller. This will 404: 
     # http://domain.tld/app.php/some-path 
     # Remove the internal directive to allow URIs like this 
     internal; 
    } 

    location /subdirectory { 
    alias /var/www/site/web/subdir/; 
} 

    # return 404 for all other php files not matching the front controller 
    # this prevents access to other php files you don't want to be accessible. 
    location ~ \.php$ { 
     return 404; 
    } 

    error_log /var/log/nginx/sm_error.log; 
    access_log /var/log/nginx/sm_access.log; 

ich ein Problem mit 404-Fehler haben, ich weiß nicht, warum. Ich habe www-Daten Benutzer auf diesem Unterverzeichnis.

location /subdirectory { 
    root /var/www/site/web/subdirectory; 
    try_files $uri /administration.php$is_args$args; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_split_path_info ^(.+\.php)(/.*)$; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
     fastcgi_param DOCUMENT_ROOT $realpath_root; 

} 

Antwort

0

gebe folgende in server Abschnitt:

location /subdirectory { 
    root /var/www/site/web; 
} 

Oder andere Lösung, die funktioniert, wenn /url_directory und /local_directory nicht gleich:

location /subdirectory { 
    alias /var/www/site/web/subdirectory; 
} 

mehr Siehe auf nginx/location, nginx/root und nginx/alias.

+0

Danke, aber jetzt habe ich 403 verbiden Fehler, sogar mit 777 oder www-Daten auf diesem Unterverzeichnis rekursiv. Eine verwendete Alias-Lösung. – Delirium

+0

Haben Sie 'index index.html index.html index.php' oder ähnliches? Oder vielleicht 'Autoindex an '? – uzsolt

+0

Ich muss auch spezielle Index für diesen Ort einrichten? – Delirium