دليل المبتدئين إلى .htaccess:ورقة الغش الكاملة، والأمثلة، وأفضل الممارسات

تنويه: HostScore مدعوم من القارئ. عند الشراء عبر روابطنا، قد نحصل على عمولة. جميع الأسعار على هذا الموقع معروضة بـ USD ما لم ينص على خلاف ذلك.

جدول المحتويات

اسأل الذكاء الاصطناعي عن هذه الصفحة:
ChatGPT
كلود
Perplexity
Grok
Google AI

.htaccess ملف نصي بسيط يتيح لك التحكم في كيفية تعامل خادم الويب مع الطلبات. صُمم في الأصل لإدارة الوصول إلى الأدلة، ولكنه الآن يخدم أغراضًا أخرى عديدة.

هذا الدليل ليس غوصًا عميقًا في .htaccess بل هي مقدمة عملية مع مجموعة من مقتطفات التعليمات البرمجية المفيدة. .htaccess قوة نظامك لا تعني بالضرورة استخدامه في كل شيء. فهم متى وكيف يُستخدم يُمكن أن يُحسّن أمان موقعك الإلكتروني وأدائه ووظائفه.

ما هو .htaccess?

استخدم .htaccess الملف، وهو اختصار لـ "الوصول إلى النص التشعبي"، هو ملف تكوين يستخدم بشكل أساسي على Apache الخوادم. يسمح للمستخدمين بالتحكم في أذونات الوصول، وحماية المجلدات بكلمة مرور، وإعداد عمليات إعادة التوجيه، وتخصيص صفحات الأخطاء، وحظر عناوين IP محددة.

عند ربطه بملف .htpasswd، يُمكّن هذا من التحكم الدقيق في وصول المستخدمين إلى الدليل. يدعم العديد من موفري الاستضافة .htaccess، لكنها ليست عالمية - بعض خوادم الويب، مثل Nginx، تستخدم طرقًا مختلفة.

أين تجد .htaccess ملف؟

افتراضيا، .htaccess الملف مخفي في مدير ملفات cPanel ولوحات تحكم الاستضافة الأخرى. يمكنك إظهاره بتفعيل خيار "إظهار الملفات المخفية" في إعدادات مدير الملفات.

إذا لم تتمكن من العثور على الملف، فلا داعي للقلق، فقد لا يكون موجودًا بعد. في معظم الحالات، يجب أن يكون موجودًا في الدليل الجذر لموقعك الإلكتروني، والذي يُسمى عادةً public_html أو www. إذا كنت تُدير مواقع ويب متعددة باستخدام حساب الاستضافة نفسه، فقد يكون لكل موقع دليله الخاص. .htaccess الملف داخل المجلد المخصص له.

معظم ملفات النظام التي تبدأ بنقطة (.) تكون مخفية. إذا كان لديك .htaccess إذا لم يكن الملف مرئيًا، فتحقق من إعدادات الاستضافة لديك أو قم بإنشاء ملف يدويًا في محرر نصوص.

إن .htaccess الملف مخفي افتراضيًا في مدير ملفات cPanel. يمكنك إظهاره من خلال إعدادات مدير الملفات.
إن .htaccess الملف مخفي افتراضيًا في مدير ملفات cPanel. يمكنك إظهاره من خلال إعدادات مدير الملفات.

.htaccess ورقة الغش وعينات التعليمات البرمجية

بينما .htaccess يمكن القيام بالكثير، ومعرفة الأوامر الصحيحة أمرٌ أساسي. لتسهيل الأمور، قمنا بتجميع قائمة بالأوامر الأكثر استخدامًا .htaccess القواعد. سواء كنت بحاجة إلى حظر الروبوتات الضارة، أو فرض HTTPSإذا كنت تريد تخصيص صفحات الأخطاء أو تحسين محرك البحث، فستجد أدناه مقتطفات أكواد جاهزة للاستخدام.

انسخها وألصقها وعدّلها لتناسب احتياجاتك. لنبدأ!

ملاحظاتيرجى مراجعة أي قواعد والتحقق منها قبل استخدامها. لسنا مسؤولين عن أي مشاكل قد تنشأ - استخدمها على مسؤوليتك الخاصة. كما أن معظم القواعد تتطلب RewriteEngine On التوجيه في الخاص بك .htaccess الملف ليعمل بشكل صحيح.

قواعد إعادة الكتابة وإعادة التوجيه

خدمة جميع الطلبات بواحدة PHP ملف مع .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php [NC,L,QSA]
WordPress .htaccess للروابط الدائمة مع .htaccess

(هذه هي القاعدة الوحيدة في هذا القسم التي تتضمن قاعدة RewriteEngine.)

# BEGIN WordPress
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
</IfModule>
# END WordPress
فرض www مع .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]
فرض www بطريقة عامة باستخدام .htaccess
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
فرض عدم www مع .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
فرض عدم www بطريقة عامة باستخدام .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
القوة HTTPS مع .htaccess

استخدم هذا لإعادة التوجيه غير HTTPS طلبات إلى أ HTTPS على سبيل المثال، إذا ذهبت إلى https://example.com/، فسيتم إعادة توجيهك إلى https://example.com.

RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
القوة HTTPS خلف وكيل مع .htaccess

يكون مفيدًا إذا كان لديك وكيل أمام الخادم الخاص بك يقوم بإنهاء TLS.

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
فرض القطع المائل مع .htaccess

استخدم المتابعة .htaccess قاعدة لإعادة توجيه أي روابط إلى نفس الرابط (مع شرطة مائلة) لأي طلبات لا تنتهي بشرطة مائلة. على سبيل المثال، إعادة التوجيه من https://example.com/your-page إلى https://example.com/your-page/

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
إزالة الشرطة المائلة الزائدة باستخدام .htaccess

استخدم هذا لإزالة أي شرطة مائلة لاحقة (سيتم إعادة التوجيه 301 إلى عنوان URL غير المائل)

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
إعادة توجيه صفحة واحدة باستخدام .htaccess

إعادة توجيه عنوان URL واحد إلى موقع جديد

Redirect 301 /oldpage.html https://www.yoursite.com/newpage.html
Redirect 301 /oldpage2.html https://www.yoursite.com/folder/
اسم مستعار لدليل واحد مع .htaccess
RewriteEngine On
RewriteRule ^source-directory/(.*) target-directory/$1
مسارات الأسماء المستعارة إلى البرنامج النصي مع .htaccess
RewriteEngine On
RewriteRule ^$ index.fcgi/ [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

هذا المثال له index.fcgi ملف في بعض الدلائل، وأي طلبات داخل هذا الدليل تفشل في حل اسم الملف/الدليل سيتم إرسالها إلى index.fcgi نص. إنه جيد إذا كنت تريد baz.foo/some/cool/path ليتم التعامل معها من قبل baz.foo/index.fcgi (الذي يدعم أيضًا الطلبات إلى baz.foo) مع الحفاظ على baz.foo/css/style.css وما شابه ذلك.

إعادة توجيه الموقع بأكمله باستخدام .htaccess

استخدم ما يلي .htaccess قاعدة لإعادة توجيه موقع بأكمله إلى موقع/مجال جديد

Redirect 301 / https://newsite.com/

بهذه الطريقة يتم ذلك مع وجود روابط سليمة. www.oldsite.com/some/crazy/link.html ستصبح www.newsite.com/some/crazy/link.htmlيعد هذا مفيدًا للغاية عند "نقل" موقع إلى نطاق جديد.

استخدم عناوين URL "النظيفة" البديلة مع .htaccess

يتيح لك هذا المقطع استخدام "عناوين URL النظيفة" - تلك التي لا تحتوي على PHP تمديد، على سبيل المثال example.com/users بدلا من example.com/users.php.

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]

قواعد الأمان

رفض الوصول الكامل مع .htaccess

إذا كنت تريد منع Apache من تقديم أي ملفات على الإطلاق، فاستخدم ما يلي.

سيمنعك هذا من الوصول إلى موقعك. إذا كنت ترغب في منع الوصول بالكامل مع إمكانية عرضه بنفسك، يُرجى قراءة القاعدة التالية:

Deny from all
رفض كل الوصول باستثناء وصولك (السماح بعناوين IP معينة فقط) باستخدام .htaccess

استخدم هذا للسماح لعناوين IP معينة فقط بالوصول إلى موقع الويب الخاص بك.

# Require all denied
# Require ip xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx هذا هو عنوان IP الخاص بك. على سبيل المثال، إذا استبدلت الأرقام الثلاثة الأخيرة بـ 0/12، فسيحدد هذا نطاق عناوين IP ضمن الشبكة نفسها، مما يوفر عليك عناء سرد جميع عناوين IP المسموح بها بشكل منفصل.

يرجى الاطلاع على القاعدة التالية لمعرفة "العكس" لهذه القاعدة!

حظر عنوان IP باستخدام .htaccess

سيسمح هذا بالوصول إلى جميع عناوين IP باستثناء تلك المدرجة. يمكنك استخدام هذا للسماح بالوصول إلى جميع عناوين IP باستثناء عناوين IP لمرسلي البريد العشوائي.

استبدل xxx.xxx.xxx.xxx و xxx.xxx.xxx.xxy بعناوين IP التي تريد حظرها.

Apache 2.4
# Require all granted
# Require not ip xxx.xxx.xxx.xxx
# Require not ip xxx.xxx.xxx.xxy
السماح بالوصول فقط من شبكة LAN مع .htaccess
order deny,allow
deny from all
allow from 192.168.0.0/24
رفض الوصول إلى وكلاء مستخدم معينين (روبوتات) باستخدام .htaccess

استخدام هذا .htaccess قاعدة لمنع/حظر وكلاء مستخدم معينين

RewriteCond %{HTTP_USER_AGENT} ^User\ Agent\ 1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^Another\ Bot\ You\ Want\ To\ Block [OR]
RewriteCond %{HTTP_USER_AGENT} ^Another\ UA
RewriteRule ^.* - [F,L]
رفض الوصول إلى الملفات والمجلدات المخفية باستخدام .htaccess

الملفات والمجلدات المخفية (التي تبدأ أسماؤها بنقطة) .) ينبغي تأمينها في معظم الأوقات، إن لم يكن كلها. على سبيل المثال: .htaccess، .htpasswd، .git، .hg.

RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]

بدلا من ذلك، يمكنك فقط رفع Not Found خطأ، لا يعطي المهاجم أي فكرة:

RedirectMatch 404 /\..*$
رفض الوصول إلى ملفات معينة باستخدام .htaccess

استخدم هذا لمنع أو رفض الوصول إلى ملفات معينة

<files your-file-name.txt>
order allow,deny
deny from all
</files>
رفض الوصول إلى ملفات النسخ الاحتياطي والمصدر باستخدام .htaccess

قد يتم ترك هذه الملفات بواسطة بعض محرري النصوص/html (مثل Vi/Vim) وتشكل خطرًا أمنيًا كبيرًا، عندما يتمكن أي شخص من الوصول إليها.

<FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$">
    ## Apache 2.2
    Order allow,deny
    Deny from all
    Satisfy All

    ## Apache 2.4
    # Require all denied
</FilesMatch>
تعطيل تصفح الدليل باستخدام .htaccess
Options All -Indexes
تمكين قوائم الدليل باستخدام .htaccess
Options All +Indexes
تعطيل قائمة أنواع ملفات معينة باستخدام .htaccess

استخدم هذا لاستبعاد أنواع ملفات معينة من القائمة Apache قائمة الدليل. يمكنك استخدام هذا لإيقاف ظهور ملفات .pdf أو ملفات الفيديو.

IndexIgnore *.zip *.mp4 *.pdf
تعطيل الارتباط الساخن للصورة باستخدام .htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
إعادة توجيه الروابط الساخنة وإظهار صورة مختلفة باستخدام .htaccess
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?your-website.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ https://www.your-website.com/do-not-hotlink-our-content.jpg [R,L]
رفض الوصول من بعض المراجعين باستخدام .htaccess

استخدم هذه القاعدة لمنع الوصول إلى الطلبات التي تتضمن مرجعًا من نطاق معين.

RewriteCond %{HTTP_REFERER} block-this-referer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} and-block-traffic-that-this-site-sends\.com [NC]
RewriteRule .* - [F]
حماية الدليل بكلمة مرور .htaccess

أولاً، عليك إنشاء ملف .htpasswd في مكان ما بالنظام. شغّل الأمر التالي من سطر الأوامر:

htpasswd -c /home/hidden/directory/here/.htpasswd the_username

ثم يمكنك استخدامه للمصادقة. في .htaccess ستحتاج إلى شيء مثل الكود التالي، ولكن تأكد من أن AuthUserFile هو مسار ملف .htpasswd الذي أنشأته للتو. يجب عليك حفظ ملف .htpasswd في مجلد لا يمكن الوصول إليه عبر الإنترنت. لذا، لا تضعه في مجلد /public_html/ أو /www/.

AuthType Basic
AuthName "Password Protected Dir Title"
AuthUserFile /home/hidden/directory/here/.htpasswd
Require valid-user
حماية ملف أو عدة ملفات بكلمة مرور .htaccess
AuthName "Password Protected Directory Title"
AuthType Basic
AuthUserFile /home/hidden/directory/here/.htpasswd

<Files "/a-private-file.txt">
Require valid-user
</Files>

<FilesMatch ^((one|two|three)-rings?\.o)$>
Require valid-user
</FilesMatch>

قواعد الأداء

ضغط ملفات النصوص باستخدام .htaccess
<IfModule mod_deflate.c>

        # Force compression for mangled headers.
        # https://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
        <IfModule mod_setenvif.c>
                <IfModule mod_headers.c>
                        SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
                        RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
                </IfModule>
        </IfModule>

        # Compress all output labeled with one of the following MIME-types
        # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
        #    and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
        #    as `AddOutputFilterByType` is still in the core directives).
        <IfModule mod_filter.c>
            AddOutputFilterByType DEFLATE application/atom+xml \
              application/javascript \
              application/json \
              application/rss+xml \
              application/vnd.ms-fontobject \
              application/x-font-ttf \
              application/x-web-app-manifest+json \
              application/xhtml+xml \
              application/xml \
              font/opentype \
              image/svg+xml \
              image/x-icon \
              text/css \
              text/html \
              text/plain \
              text/x-component \
              text/xml
        </IfModule>

</IfModule>
تعيين رؤوس انتهاء الصلاحية مع .htaccess

تنتهي صلاحية الرؤوس يُخبر المتصفح ما إذا كان عليه طلب ملف معين من الخادم أو مجرد الحصول عليه من ذاكرة التخزين المؤقت. يُنصح بتعيين رؤوس انتهاء صلاحية المحتوى الثابت إلى تاريخ مستقبلي بعيد.

إذا لم تتمكن من التحكم في الإصدارات باستخدام إزالة ذاكرة التخزين المؤقت المستندة إلى اسم الملف، ففكر في تقليل وقت ذاكرة التخزين المؤقت للموارد مثل CSS وJS إلى شيء مثل أسبوع واحد.

<IfModule mod_expires.c>
        ExpiresActive on
        ExpiresDefault                                    "access plus 1 month"

    # CSS
        ExpiresByType text/css                            "access plus 1 year"

    # Data interchange
        ExpiresByType application/json                    "access plus 0 seconds"
        ExpiresByType application/xml                     "access plus 0 seconds"
        ExpiresByType text/xml                            "access plus 0 seconds"

    # Favicon (cannot be renamed!)
        ExpiresByType image/x-icon                        "access plus 1 week"

    # HTML components (HTCs)
        ExpiresByType text/x-component                    "access plus 1 month"

    # HTML
        ExpiresByType text/html                           "access plus 0 seconds"

    # JavaScript
        ExpiresByType application/javascript              "access plus 1 year"

    # Manifest files
        ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
        ExpiresByType text/cache-manifest                 "access plus 0 seconds"

    # Media
        ExpiresByType audio/ogg                           "access plus 1 month"
        ExpiresByType image/gif                           "access plus 1 month"
        ExpiresByType image/jpeg                          "access plus 1 month"
        ExpiresByType image/png                           "access plus 1 month"
        ExpiresByType video/mp4                           "access plus 1 month"
        ExpiresByType video/ogg                           "access plus 1 month"
        ExpiresByType video/webm                          "access plus 1 month"

    # Web feeds
        ExpiresByType application/atom+xml                "access plus 1 hour"
        ExpiresByType application/rss+xml                 "access plus 1 hour"

    # Web fonts
        ExpiresByType application/font-woff2              "access plus 1 month"
        ExpiresByType application/font-woff               "access plus 1 month"
        ExpiresByType application/vnd.ms-fontobject       "access plus 1 month"
        ExpiresByType application/x-font-ttf              "access plus 1 month"
        ExpiresByType font/opentype                       "access plus 1 month"
        ExpiresByType image/svg+xml                       "access plus 1 month"
</IfModule>
إيقاف تشغيل eTags باستخدام .htaccess

من خلال إزالة رأس ETag، فإنك تقوم بتعطيل ذاكرة التخزين المؤقت والمتصفحات من القدرة على التحقق من صحة الملفات، وبالتالي يتم إجبارها على الاعتماد على رأس Cache-Control وExpires.

<IfModule mod_headers.c>
        Header unset ETag
</IfModule>
FileETag None
تحديد حجم ملف التحميل باستخدام .htaccess

ضع حجم الملف بالبايت. الكود أدناه يحدّه إلى 1 ميغابايت.

LimitRequestBody 1048576

قواعد متنوعة

متغيرات الخادم لـ mod_rewrite مع .htaccess
%{API_VERSION}
%{DOCUMENT_ROOT}
%{HTTP_ACCEPT}
%{HTTP_COOKIE}
%{HTTP_FORWARDED}
%{HTTP_HOST}
%{HTTP_PROXY_CONNECTION}
%{HTTP_REFERER}
%{HTTP_USER_AGENT}
%{HTTPS}
%{IS_SUBREQ}
%{REQUEST_FILENAME}
%{REQUEST_URI}
%{SERVER_ADDR}
%{SERVER_ADMIN}
%{SERVER_NAME}
%{SERVER_PORT}
%{SERVER_PROTOCOL}
%{SERVER_SOFTWARE}
%{THE_REQUEST}
بكج PHP المتغيرات مع .htaccess
php_value <key> <val>
فمثلا:
php_value upload_max_filesize 50M
php_value max_execution_time 240
صفحات الخطأ المخصصة مع .htaccess
ErrorDocument 500 "Houston, we have a problem."
ErrorDocument 401 https://error.yourdomain.com/mordor.html
ErrorDocument 404 /errors/halflife3.html
إعادة توجيه المستخدمين إلى صفحة الصيانة أثناء التحديث باستخدام .htaccess

سيؤدي هذا إلى إعادة توجيه المستخدمين إلى صفحة الصيانة، مع السماح لهم بالوصول إلى عنوان IP الخاص بك. غيّر 555.555.555.555 إلى عنوان IP الخاص بك، وYourMaintenancePageFilenameOrFullUrlUrl.html إلى صفحة الخطأ (أو عنوان URL كامل، على نطاق مختلف).

ErrorDocument 403 YourMaintenancePageFilenameOrFullUrlUrl.html
Order deny,allow
Deny from all
Allow from 555.555.555.555
فرض التنزيل باستخدام .htaccess

أحيانًا ترغب في إجبار المتصفح على تنزيل محتوى ما بدلًا من عرضه. سيساعدك المقطع التالي في ذلك.

<Files *.md>
        ForceType application/octet-stream
        Header set Content-Disposition attachment
</Files>
تعطيل عرض معلومات الخادم (توقيع الخادم) باستخدام .htaccess

في حين أن العديد من الأشخاص يعتبرون هذا الأمر بلا جدوى (خاصة فيما يتعلق بالأمان)، إذا كنت تريد منع الخادم الخاص بك من إعطاء معلومات الخادم (نظام تشغيل الخادم وما إلى ذلك)، فاستخدم هذا:

ServerSignature Off
منع التنزيل باستخدام .htaccess

أحيانًا ترغب في إجبار المتصفح على عرض محتوى ما بدلًا من تنزيله. سيساعدك المقطع التالي في ذلك.

<FilesMatch "\.(tex|log|aux)$">
        Header set Content-Type text/plain
</FilesMatch>
السماح بالخطوط عبر النطاقات مع .htaccess

CDNقد لا تعمل خطوط الويب المُقدّمة في Firefox أو IE بسبب مشكلة CROS. يُفترض أن يُساعدك المقطع التالي من alrra في ذلك.

<IfModule mod_headers.c>
        <FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
                Header set Access-Control-Allow-Origin "*"
        </FilesMatch>
</IfModule>
ترميز UTF-8 التلقائي مع .htaccess

امتلاك Apache لترميز محتواك تلقائيًا بترميز UTF-8، استخدم الكود التالي. يمكنك أيضًا استبدال UTF-8 بمجموعة أحرف أخرى إذا لزم الأمر:

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# Force UTF-8 for a number of file formats
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
تعيين المنطقة الزمنية للخادم (إلى UTC، أو منطقة زمنية أخرى) باستخدام .htaccess
SetEnv TZ UTC

انظر قائمة المناطق الزمنية. لضبطها على منطقة لوس أنجلوس الزمنية:

SetEnv TZ America/Los_Angeles
التبديل إلى آخر PHP النسخة مع .htaccess

إذا كنت تستخدم مضيفًا مشتركًا، فمن المحتمل أن يكون هناك أكثر من إصدار واحد من PHP مُثبّتًا، وأحيانًا قد ترغب في إصدار مُحدّد لموقعك الإلكتروني. على سبيل المثال، يتطلب PHP >= 5.4. يجب أن يُبدّل المقطع التالي PHP النسخة لك.

AddHandler application/x-httpd-php55 .php
بدلاً من ذلك، يمكنك استخدام AddType
AddType application/x-httpd-php55 .php
تعطيل عرض التوافق لمتصفح Internet Explorer

قد يؤثر عرض التوافق في متصفح Internet Explorer على كيفية عرض بعض المواقع الإلكترونية. يجب أن يُجبر المقطع التالي متصفح Internet Explorer على استخدام Edge. Renderقم بتعطيل محرك البحث وتعطيل عرض التوافق.

<IfModule mod_headers.c>
    BrowserMatch MSIE is-msie
    Header set X-UA-Compatible IE=edge env=is-msie
</IfModule>
تنفيذ PHP مع امتداد ملف مختلف مع .htaccess

سيقوم الكود التالي بتشغيل الملفات التي تنتهي بـ .ext مع php:

AddType application/x-httpd-php .ext
تقديم صور WebP تلقائيًا إذا كانت موجودة

إذا كانت صور WebP مدعومة وتم العثور على صورة ذات امتداد .webp ونفس الاسم في نفس المكان مثل صورة jpg/png التي سيتم تقديمها، فسيتم تقديم صورة WebP بدلاً من ذلك.

RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]

هل اشتريتَ استضافةً للتو؟ إليك ما عليك فعله.

قد يكون إعداد الاستضافة أمرًا مُربكًا. لهذا السبب أنشأنا HostScore مساعدة الإعداد، خدمة جاهزة لمساعدتك على إعداد الاستضافة بالطريقة الصحيحة.

نحن نساعد في SSL التثبيت وإعداد DNS وخادم الأسماء، WordPress التثبيت أو النقل، وضبط الأمان. رسوم لمرة واحدة. مع ضمان استرداد كامل المبلغ.

اكتشف خدماتنا

في المخص:

استخدم .htaccess الملف أداة فعّالة، لكن من المهم استخدامه بحكمة. قد يكون من المغري إضافة قواعد إضافية للحلول السريعة، لكن تذكر أن .htaccess ليس ملف تكوين أساسي.

في كل مرة يواجه فيها الخادم مشكلة .htaccess يجب قراءته وتنفيذه، متجاوزًا إعدادات التكوين الرئيسية. تستهلك هذه العملية الموارد وقد تُبطئ موقعك الإلكتروني، خاصةً إذا تم استخدامها بشكل مفرط. كلما أمكن، طبّق التكوينات مباشرةً على مستوى الخادم (على سبيل المثال، في Apacheملف التكوين الرئيسي الخاص بـ ('s) للحصول على أداء أفضل.

باستخدام .htaccess بكفاءة وربطها بـ خطة استضافة مُحسّنة جيدًا - يمكنك تعزيز أمان موقع الويب الخاص بك وأدائه وقابليته للتوسع

أسئلة مكررة

هل ينبغي أن أستخدم .htaccess?

في الاستخدام العالمي للمعنى .htaccess يمكن أن يوفر الملف الكثير من الراحة. ومع ذلك، قد يكون هذا مكلفًا للغاية من حيث موارد الخادم. اعتمد، قدر الإمكان، على تكوين الخادم الرئيسي بدلاً من .htaccess ملف.

كيف أعرف ما إذا كان ملف .htaccess يعمل؟

أبسط طريقة لضمان حصولك على .htaccess الطريقة التي يعمل بها الملف هي زيارة عنوان URL للدليل الذي وضعته فيه. إذا لم يكن الملف يعمل، فمن المحتمل أن تواجه خطأ الخادم الداخلي 500.

هل يمكنني الحصول على عدة .htaccess الملفات؟

.htaccess من الناحية الفنية، يمكن وضع الملفات في كل مجلد ترغب في تهيئته. إذا كنت تدير مواقع ويب متعددة، فيمكن أن يحتوي كل مجلد رئيسي على ملف خاص به، بالإضافة إلى ملف في كل مجلد فرعي أسفله.

ما هي قاعدة إعادة الكتابة في htaccess؟

إعادة الكتابة هي Apache وحدة تسمح لك بإعادة كتابة طلبات عناوين URL. ببساطة، تأخذ طلبًا واردًا وتوجهه إلى طلب آخر حددته ليحل محله.

نبذة عن الكاتبة: Timothy Shim

Timothy Shim كاتب ومحرر ومهووس بالتكنولوجيا. بدأ مسيرته المهنية في مجال تكنولوجيا المعلومات، وسرعان ما شق طريقه في مجال الطباعة، وعمل منذ ذلك الحين مع وسائل إعلام دولية وإقليمية ومحلية، بما في ذلك ComputerWorld، PC.com، Business Today، وThe Asian Banker. تكمن خبرته في مجال التكنولوجيا من وجهة نظر المستهلك والشركات على حد سواء.
صورة المؤلف

اكثر من HostScore

اعثر على مزود استضافة المواقع المناسب

لست متأكدًا من خطة الاستضافة المناسبة لموقعك الإلكتروني؟ يقوم برنامج البحث عن استضافة المواقع الإلكترونية بمطابقة متطلبات موقعك الحقيقية - حجم العمل والاستخدام والأولويات - مع خيارات الاستضافة التي تناسبك فعلاً.

بنيت من HostScoreبفضل خبرتها العملية في مجال الاستضافة وأبحاث الأداء، تساعدك على تجنب دفع مبالغ زائدة، أو نقص في التجهيز، أو اختيار خطط لا يمكن توسيع نطاقها.

جرّب أداة البحث عن استضافة المواقع (مجاناً)