ماذا تعني هذه التصريحات في ملف htaccess الخاص بي؟

StackOverflow https://stackoverflow.com/questions/607692

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا newb إلى PHP. يمكن لأحد أن يقول لي ما يفعله كل سطر هنا. هل أنا بحاجة إلى هذا؟ ذلك هو إعطائي أخطاء

RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
هل كانت مفيدة؟

المحلول

والجواب بسيط: هذه التصريحات إعادة كتابة كل طلب إلى ملف rewrite.php

.

والجواب أكثر شمولا: إن RewriteCond وRewriteRule التوجيهات هي من أباتشي وحدة mod_rewrite و وتوفير آلية URL إعادة كتابة الحكم القائمة.

ويبدو أن الهدف من هذه القواعد لإعادة كتابة كل طلب إلى ملف rewrite.php، إما في دليل معين (/~ <م> foobar /rewrite.php) أو في الجذر (/rewrite.php).

نصائح أخرى

إذا كنت جديدا، يرجى قراءة HTTP: //httpd.apache. غزاله / مستندات / 1.3 / وزارة الدفاع / mod_rewrite.html ، ويفسر ذلك بشكل جيد جدا.

p.s. العنوان الخاص بك "ماذا تعني هذه التصريحات في بلدي ملف هتكس PHP؟" غير صحيح، .htacces ليس ملف PHP.

وهذه تقول

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

و"فقط استخدام القاعدة التالية إذا لم تتطابق طلب ملف أو دليل موجود."

وهذه هي mod_rewrite و إدخالات التكوين.

ووقاعدة mod_rewrite وأباتشي. إلا إذا كنت تستخدم نوعا من إطار وربما كنت لا تحتاج إليها. انظر اباتشي mod_rewrite ولمزيد من المعلومات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top