Я пытаюсь очистить свои правила перезаписи nginx для моего форума vBulletin, на котором есть некоторые модификации и дополнительное программное обеспечение на том же сайте, что вызывает проблемы. У меня все работает так, как должно, но согласно nginx, если это зло, я обеспокоен и хотел бы вместо этого попытаться преобразовать эти несколько правил в try_files.
В настоящее время есть
Правило для статических изображений и файлов, чтобы они не передавались моду seo (например, .gif, .ico, даже .css)
Правило для подпапки mobiquo, которая также называется плагин tapatalk. Чтобы это работало, мне пришлось исключить весь каталог из переписанных.
Если файл не существует. Я не уверен, насколько это важно, но это кажется хорошей идеей. Может быть, это снизить работу сео мод.
Правила nginx переписывают в явно рискованной форме блока:
это выше /forum / block, потому что я хотел дать ему приоритет, если это сделано неправильно, я хотел бы знать.
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
# Some basic cache-control for static files to be sent to the browser
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location /forum/ {
try_files $uri $uri/ /forum/dbseo.php?$args;
if ($request_uri ~* ^/forum/mobiquo) {
break;
}
if (-f $request_filename) {
expires 30d;
break;
}
if ($request_filename ~ "\.php$" ) {
rewrite ^(/forum/.*)$ /forum/dbseo.php last;
}
if (!-e $request_filename) {
rewrite ^/forum/(.*)$ /forum/dbseo.php last;
}
}
КОНЕЦ
Где-то в моих поисках я нашел шаблон, который я пытался адаптировать, но так как я не понимаю регулярные выражения, я потерпел неудачу :)
место нахождения / {
# if you're just using wordpress and don't want extra rewrites
# then replace the word @rewrites with /index.php
try_files $ uri $ uri/ /index.php;
}
location @rewrites {
# Can put some of your own rewrite rules in here
# for example rewrite ^/~(.*)/(.*)/? /users/$1/$2 last;
# If nothing matches we'll just send it to /index.php