Path: blob/main/xml/he/docs/http/converting_rewrite_rules.xml
1 views
<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">12<article name="המרת כללי rewrite"3link="/he/docs/http/converting_rewrite_rules.html"4lang="he"5author="Igor Sysoev"6translator="מבזקים.נט">78<section name="הפנייה לאתר ראשי">910<para>11משתמשים שבמהלך חיי האירוח המשותף נהגו להגדיר <i>הכל</i> באמצעות12שימוש <i>רק</i> בקובצי htaccess. של Apache, יתרגמו בדרך כלל את13הכללים הבאים:1415<programlisting>16RewriteCond %{HTTP_HOST} example.org17RewriteRule (.*) http://www.example.org$118</programlisting>1920למשהו כזה:2122<programlisting>23server {24listen 80;25server_name www.example.org example.org;26if ($http_host = example.org) {27rewrite (.*) http://www.example.org$1;28}29...30}31</programlisting>32</para>3334<para>35צורה זו היא שגוייה, מסובכת, ולא יעילה.36הדרך הנכונה היא להגדיר שרת נפרד עבור <literal>example.org</literal>:3738<programlisting>39server {40listen 80;41server_name example.org;42rewrite ^ http://www.example.org$request_uri?;43}4445server {46listen 80;47server_name www.example.org;48...49}50</programlisting>51</para>5253</section>545556<section>5758<para>59דוגמה נוספת, במקום הגיון הפוך: כל מה שהוא לא60<literal>example.com</literal> וגם לא <literal>www.example.com</literal>:6162<programlisting>63RewriteCond %{HTTP_HOST} !example.com64RewriteCond %{HTTP_HOST} !www.example.com65RewriteRule (.*) http://www.example.com$166</programlisting>6768עלייך רק להגדיר את <literal>example.com</literal>, <literal>www.example.com</literal>,69וכל דבר אחר:7071<programlisting>72server {73listen 80;74server_name example.org www.example.org;75...76}7778server {79listen 80 default_server;80server_name _;81rewrite ^ http://example.org$request_uri?;82}83</programlisting>84</para>8586</section>878889<section id="converting_mongrel_rules"90name="המרת כללי Mongrel">9192<para>93כללי Mongrel טיפוסיים:9495<programlisting>96DocumentRoot /var/www/myapp.com/current/public9798RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f99RewriteCond %{SCRIPT_FILENAME} !maintenance.html100RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L]101102RewriteCond %{REQUEST_FILENAME} -f103RewriteRule ^(.*)$ $1 [QSA,L]104105RewriteCond %{REQUEST_FILENAME}/index.html -f106RewriteRule ^(.*)$ $1/index.html [QSA,L]107108RewriteCond %{REQUEST_FILENAME}.html -f109RewriteRule ^(.*)$ $1/index.html [QSA,L]110111RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]112</programlisting>113114יש להמיר כך115116<programlisting>117location / {118root /var/www/myapp.com/current/public;119120try_files /system/maintenance.html121$uri $uri/index.html $uri.html122@mongrel;123}124125location @mongrel {126proxy_pass http://mongrel;127}128</programlisting>129</para>130131</section>132133</article>134135136