Ба мазмуни асосӣ гузаред

Намунаҳои қайди Nginx rewrite



Мақолаи мақолаҳо:

Тағир додан ба URL бо суръат

Баъзе CMS барои сайтҳо метавонанд саҳифаҳоро бо пашм дар охири ва ё бидуни он кушоянд, агар муҳаррик мустақил набошад. Масалан, саҳифаи http://example.net/page ва http://example.net/page/ аз нуқтаи назари меҳмонон яке аз онҳо хоҳад буд. Аммо барои мошинҳои ҷустуҷӯ, ин ду саҳифаҳои гуногун мебошанд ва секунҷа барои ҳама чиз айбдор аст. Пас мундариҷаи такрорӣ бад аст.

Барои ҷустуҷӯи саҳифа, линзаи зеринро ба файли танзимоти nginx барои сайтатон илова кунед:


  * ^ ([^.] * [^ /]) $ $ 1 / доимӣ; 

Ҳоло ин саҳифа бе такрори ба 301-юрурӣ ба саҳифа бо сақф равона карда мешавад. Барои саҳифаҳои бо васеъкунакҳо (.html, .php, ва ғайра), ин қоидаҳо таъсир намерасонанд. Илова бар ин, ин универсалӣ аст ва аз ин рӯ, муҳаррики интиқоли барқро бо истифода аз php иҷро намекунад, ин қоида бояд барои аксари сайтҳое, ки нишонаҳои инсонро дӯст медоранд, муқаррар карда шавад.

Наврӯз барои WordPress

Ҳуҷҷатҳои WordPress дорои намунаи хуби қоидаҳои нав мебошанд. Ман фақат як чизи асосӣеро таъкид мекунам, ки дар якҷоягӣ бо php-fpm кор кардан лозим аст .

  макон / {{
   try_files $ uri $ uri / /index.php$args;
  }}
  Ҷойгиршавӣ ~ \ .pp $ {
   try_files $ uri = 404;
   fastcgi_pass unix: /run/php-www.sock;
   fastcgi_index index.php;
   дохил fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
   fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i -fmail@example.com";
   fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /";
  }} 

Навсозии Modx

Барои сайтҳо дар ин CMS, ман қоидаҳои зеринро истифода мебарам:


  макон / {{
 try_files $ uri $ uri / @rewrite;
 }}
 Ҷойгиршавӣ @rewrite {
 ^ / (. *) $ /index.php?q=$1 нависед;
 }}
 Ҷойгиршавӣ ~ \ .pp $ {
  try_files $ uri = 404;
  fastcgi_pass unix: /run/php-www.sock;
  fastcgi_index index.php;
  дохил fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
  fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i -fmail@example.com";
  fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /";
 }} 

301. redirect аз index.php, index.html дар ҳама ҷузвдон

Он ҳамчунин рӯй медиҳад, ки CMS худашро аз файлҳои индексҳо бе зеркашиҳо ба кор намебарад. Масалан, сомона ҳам дар http://example.com/ ва http://example.com/index.php дастрас аст. Ин қоида хатогиро ислоҳ мекунад.

  агар ($ request_uri ~ * index) (php | html)) {
   ^ (. +) index.php $ scheme: // $ host $ 1 доимӣ;
 }} 

Дар ин ҳолат, агар файл файли дар ҷузвдони решавӣ ё зергурӯҳ ҷойгир бошад, аҳамият надорад.

Дигар

Ман яке аз блоги худ қарор кардам, ки сохтори пайвандҳоро тағйир диҳад. Агар пештар ҳамаи мактубҳо ба воситаи пайвандҳо дастрас карда мешуданд, ба монанди / postname.html, акнун онҳо ба суроғи дигар кӯчиданд: / fotojournal / postname /. Дар аввал, ҳамчун ҳалли, ман дар бораи истифода аз вируси навсозӣ барои wordpress фикр мекардем, вале баъд ман мехоҳам кӯшиш кунам, ки онро дар nginx амалӣ созам. Ва ин ақида рӯй дод. :)



Рост аст, ки қонун қариб ба таври оддӣ мубаддал гашт, бо сабаби он, ки ҳамаи саҳифаҳо / webpostname%.html ба як категория ҷудо шуданд - фоаёт. Ин қоида чунин мешуморад:

  Ҷойгиршавӣ * *. (html) $ {
   try_files $ uri $ uri / @fotojournal;
 }}

 Ҷойгиршавӣ @fotojournal {
   ^ / (. *) \ html $ / fotojournal / $ 1 / доимӣ;
 }}

Мо ба таври муфассал баррасӣ мекунем. Вақте ки дархост аз як корбар меояд, пеш аз ҳама ягон файл бо шарҳи .html дар ҷузвдон бо сомона ҷустуҷӯ карда мешавад. Ин барои html-саҳифаҳои воқеӣ дар сайт зарур аст, ки бояд ба категорияи нав интиқол дода шавад.

Агар саҳифаи дархост пайдо нашуд, дархост ба ҷойи дуввум кӯчонида шудааст - @fotojournal. Дар ин ҷо шумо ба суроғаи нав кӯчонида шудаед (redirect 301). Масалан, саҳифаи /page.html дар саҳифаи / fotojournal / page /.



Мақолаи шумо чӣ гуна аст?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 10 имтиёз, миёна: 2,70 аз 5)
Loading ...

Назари худро

Почтаи шумо чоп карда намешавад.