2013-05-15 4 views
0

Я пытаюсь преобразовать мои директивы переназначения APACHE в Nginx один, теперь я имею следующую директиву:404 ошибка директивы Nginx местонахождения

server { 
    listen   80; 
    index   index.php index.html; 
    server_name  myvisit_head; 
    root   /var/www/mv/head/myvisit/; 
    access_log  /var/log/nginx/myvisit-access.log; 
    error_log  /var/log/nginx/myvisit-error.log; 

    # Use gzip compression 
    # gzip_static  on; # Uncomment if you compiled Nginx using --with-http_gzip_static_module 
    gzip    on; 
    gzip_disable  "msie6"; 
    gzip_vary   on; 
    gzip_proxied  any; 
    gzip_comp_level  5; 
    gzip_buffers  16 8k; 
    gzip_http_version 1.0; 
    gzip_types   text/plain text/css application/json application/x-javascript text/xml application/$ 

    # error pages 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
    root /var/www; 
    } 

    # Deny access to hidden files 
    location ~* /\.ht { 
    deny   all; 
    access_log  off; 
    log_not_found off; 
    } 

    location/{ 
    try_files $uri $uri/ /index.php?$args; 
    } 

    location ~* /myvisitv3 { 
    rewrite /(myvisitv3|myvisitV3|myVisitv3|myVisitV3)([-_])(.*).(html|php)$ /myvisitv3.php?libAdresse=$3 break; 
    } 

    # Pass PHP scripts on to PHP-FPM 
    include global/php-fpm.conf; 
    location ~* \.php$ { 
    try_files  $uri /index.php; 
    fastcgi_index index.php; 
    fastcgi_pass php5-fpm-sock; 
    include   fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    fastcgi_param SCRIPT_NAME  $fastcgi_script_name; 
    fastcgi_param PHP_VALUE   "auto_prepend_file=/var/www/profile/external/header.php \n 
             auto_append_file=/var/www/profile/external/footer.php"; 
    include /etc/nginx/fastcgi_params; 
    } 
} 

, но когда я пытаюсь получить доступ к URL я получаю 404 не найденная ошибка. Я пытался как с места, REQUEST_URI директивы, но результат тот же вот мои правила APACHE:

RewriteEngine on 
RewriteRule ^(myvisitv3|myvisitV3|myVisitv3|myVisitV3)([-_])(.*).(html|php)$ myvisitv3.php?libAdresse=$3 [L,QSA] 
RewriteRule ^(openVisit|openvisit).(html|php)$         openvisitv3.php    [L,QSA] 
RewriteRule ^(favicon).(ico|png|bmp|jpg)$          web/img/favicon.ico   [L,QSA] 
+0

не возражаете, если мы просто используем нечувствительное к регистру сопоставление? –

ответ

0

Эти правила используют без учета регистра соответствия, чтобы избавить нас от хлопот обработки этих так много дел.

location ~* /myvisitv3[-_](.*)\.(?:html|php) { 
    try_files $uri $uri/ /myvisitv3.php?libAdresse=$1; 
} 

location ~* /openvisit\.(?:html|php)$ { 
    try_files $uri $uri/ /openvisitv3.php; 
} 

location ~* /favicon\.(?:ico|png|bmp|jpg)$ { 
    try_files $uri $uri/ /web/img/favicon.ico; 
} 
+0

stille получение " 2013/05/15 15:23:35 [ошибка] 5105 # 0: * 280 open()"/var/www/mv/head/myvisit/myvisitv3-etab "failed (2: Нет такого файла или каталог), клиент: 192.168.5.8, сервер: myvisit, запрос: «HEAD/myvisitv3-etab HTTP/1.1», host: «myvisit» »error:/ – kitensei

+0

Фактически я пробовал это: rewrite ^/myvisitv3 [- _] (. *) (?: html | php) $ /myvisitv3.php?libAdresse=$1 last; и это работает, но я хотел бы сохранить нечувствительное соответствие – kitensei

+0

. Я забыл, что в первых «try_files» произошла косая черта, может быть, это причина? –

Смежные вопросы