আপনার .htaccess ফাইলের জন্য কোডের সেরা সংগ্রহ [বন্ধ]


63

আমরা আশা করি আপনি আপনার থিমের functions.php ফাইলের জন্য কোড সেরা সংগ্রহ থ্রেড, তাই আমি ভেবেছিলাম যে এটা আমাদের .htaccess ফাইলের জন্য একটি থ্রেড তৈরি করতে সহায়ক হতে পারে।

এবং এই তালিকাটিতে আপনার নিজের স্নিপেটের যে কোনও যোগ করার জন্য দয়া করে মনে রাখবেন


ভালো বুদ্ধি. অবশ্যই, মোডগুলি এটিকে একটি সম্প্রদায়ের উইকি তৈরি করে। উত্তরগুলি পোস্ট করা হলে, পরিবর্তনটি কী এবং কীভাবে এটি কার্যকর হয় তার একটি পরিষ্কার ব্যাখ্যা যদি এটি সহায়তা করে (ভাল, এটি আমাকে সহায়তা করবে) would
রে মিচেল

তৈরি সিডাব্লু এছাড়াও দয়া করে উত্তর দেওয়ার জন্য আপনার প্রথম স্নিপেটটি সরান।
বিরল

উত্তর:


21

ইয়াহু সম্পর্কিত আরও ভাল পারফরম্যান্সের জন্য এগুলি 3 টি স্নিপেট! নিয়ম:

Etags অক্ষম করুন:

Header unset ETag
FileETag None

মেয়াদ উত্তীর্ণ শিরোনাম যুক্ত করুন:

<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Tue, 16 Jun 2020 20:00:00 GMT"
</FilesMatch>

অথবা

ExpiresActive On
ExpiresByType text/html "access plus 1 day"
ExpiresByType image/gif "access plus 10 years"
ExpiresByType image/jpeg "access plus 10 years"
ExpiresByType image/png "access plus 10 years"
ExpiresByType text/css "access plus 10 years"
ExpiresByType text/javascript "access plus 10 years"
ExpiresByType application/x-javascript "access plus 10 years"

সরল পাঠ্য ফাইলটি সঙ্কুচিত করুন:

<FilesMatch "\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>

তাদের সম্পর্কে এখানে আরও পড়ুন ।

আপডেট করা হয়েছে:

Www ডোমেইনে অনুরোধগুলি পুনর্নির্দেশ করুন

RewriteCond %{HTTP_HOST} !^www\.domain\.tld [NC]
RewriteRule ^(.*)$ http://www.domain.tld/$1 [R=301,L]

XMLrpc.php- এ ব্লক করার অনুরোধ

এটি কেবল তখনই ব্যবহার করুন যখন আপনি দূরবর্তী প্রকাশনা ব্যবহার করবেন না কারণ এটি আপনার ব্লগকে হ্যাকগুলি থেকে রোধ করতে পারে।

RewriteRule ^(.*)xmlrpc\.php$ http://www.domain.tld [R=301,L]

সমস্ত ফিডগুলি ফিডবার্নারে পুনর্নির্দেশ করুন

RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.feedburner.com/feed_uri [R=301,NC,L]

আমি এখনও বিশ্বাস করি যে ইয়াহু-র সুপারিশটির ইয়াহুবোটের এইচটিটিপি 1.1 ব্যবহারের অক্ষমতার উত্স রয়েছে। সত্ত্বার ট্যাগগুলিকে বৈধকরণ করা সর্বশেষ-পরিবর্তিতের বিরুদ্ধে বৈধতা দেওয়ার চেয়ে আলাদা something
ফুসিয়া

কেবল একটি ঝকঝকে ইটি্যাগগুলি সরান না, তারা উপকারী হতে পারে, এটি অনেকগুলি কারণের উপর নির্ভর করে।
উইক

@ টসচো এবং @ উইক: আপনি কি ইটাগ সম্পর্কে ব্যাখ্যা করতে পারবেন? আমি দেখতে পাচ্ছি ওয়েব পারফরম্যান্স সম্পর্কে সমস্ত গাইড এটির প্রস্তাব দেয়। এতে সমস্যা কী?
আনহ ট্রান

4
@ রিলুইস ইটাগ শক্তিশালী বৈধতার জন্য: উদাহরণস্বরূপ পরিবর্তিত উইজেটটি সর্বশেষ-পরিবর্তিত পরিবর্তিত হয় না তবে এটি ইটাগ পরিবর্তন করে। আরও দেখুন ক্যাশে টিউটোরিয়াল
ফুসিয়া

@ টসচো: ইট্যাগ বনাম সর্বশেষ-সংশোধিত সম্পর্কে চমৎকার পয়েন্ট। ধন্যবাদ :)
আন ত্রান

12

ওয়ার্ডপ্রেস পারমলিংকের জন্য আরও ভাল পুনর্লিখনের নিয়ম

ডিফল্টরূপে ওয়ার্ডপ্রেস অনুপস্থিত চিত্র এবং স্টাইলশিটগুলির জন্য একটি 404 এইচটিএমএল পৃষ্ঠা প্রেরণ করে - সেগুলি কখনই ব্রাউজার দ্বারা রেন্ডার হয় না। এবং এটি আপনার প্রতীকী লিঙ্কগুলি ক্যাচ করে।

# Images, Stylesheets etc. don't need a HTML 404
RewriteCond %{REQUEST_URI} !.+\.\w{2,4}$
# Existing file
RewriteCond %{REQUEST_FILENAME} !-f
# Existing directory
RewriteCond %{REQUEST_FILENAME} !-d
# Symbolic link
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ index.php [L]

আমি কৌতূহল করছি কিভাবে এটি একটি মাল্টিসাইট কনফিগারেশনের জন্য কাজ করবে?
ড্যান গেইল

@ ড্যানগেইল অভ্যন্তরীণভাবে সবকিছুতে পুনর্নির্দেশের কোডটি index.phpএকই।
ফুসিয়া

8

জিজেপ সংকোচনের

জিজেপ সংকোচনের

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css  application/x-javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

8

কিছু বেসিক সুরক্ষা জিনিস।

# limit indexing of directories
Options All -Indexes

# protect the htaccess file,
# this is done by default with apache config file,
# but you never know.
<files .htaccess>
order allow,deny
deny from all
</files>

# disable the server signature
ServerSignature Off

# limit file uploads to 10mb
LimitRequestBody 10240000

# protect wpconfig.php.
<files wp-config.php>
order allow,deny
deny from all
</files>

# Limit logins and admin by IP
# this goes in the /admin folder NOT root folder .htaccess
<Limit GET POST PUT>
order deny,allow
deny from all
allow from xx.xx.xx.xx  //( your static IP)
</Limit>    

# block bad query strings (hackers/bots), please be aware this might break some plugins
# QUERY STRING EXPLOITS
<IfModule mod_rewrite.c>
 RewriteCond %{QUERY_STRING} \.\.\/    [NC,OR]
 RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
 RewriteCond %{QUERY_STRING} tag\=     [NC,OR]
 RewriteCond %{QUERY_STRING} ftp\:     [NC,OR]
 RewriteCond %{QUERY_STRING} http\:    [NC,OR]
 RewriteCond %{QUERY_STRING} https\:   [NC,OR]
 RewriteCond %{QUERY_STRING} mosConfig [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|'|"|;|\?|\*).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(globals|encode|config|localhost|loopback).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
 RewriteRule ^(.*)$ - [F,L]
</IfModule>

6

মোড_উইরাইট ছাড়াই পুনঃনির্দেশ এবং সুন্দর পারমিলিক্স

# - script kiddies

Redirect permanent /admin.php http://localhost
Redirect permanent /_vti_bin http://localhost
Redirect permanent /css http://localhost
Redirect permanent /site http://localhost
Redirect permanent /s/ http://localhost
Redirect permanent /v/ http://localhost
Redirect permanent /html http://localhost
Redirect permanent /stil http://localhost
Redirect permanent /wp-content/cache.php http://localhost


# - stupid robots

Redirect permanent /sitemap.gz /sitemap.xml.gz
Redirect permanent /default.htm /
Redirect permanent /feeds/posts/default /feed/

- URL truncating

RedirectMatch Permanent ^/page/$ /
# /category/ and /comments/ to a TOC
RedirectMatch Permanent ^/(category|comments)/$ /uebersicht/

# Git only! :)
RedirectMatch Permanent \.(svn|cvs|SVN|CVS|bzr) http://localhost

# Bots searching for mobile versions
# see http://perishablepress.com/press/2010/04/26/stop-404-requests-for-mobile-versions-of-your-site/#comment-78105
RedirectMatch gone /mobi(le)?($|/)
RedirectMatch gone /iphone($|/)

# - 410

# Old feeds are dead
Redirect gone /2008/feed/
Redirect gone /2009/feed/
Redirect gone /2010/feed/

# stupid bots and browsers again

Redirect gone /crossdomain.xml
Redirect gone /labels.rdf
Redirect gone /.well-known
Redirect gone /parent-page
RedirectMatch gone .*/config$

# Pretty permalinks without mod_rewrite!
ErrorDocument 404 /index.php

1
এই পথে কি দ্রুত? এইভাবে কিছু করার জন্য কোনও সুবিধা থাকলে আমি কৌতূহলী
ড্যান গেইল

@ ড্যানগেইল মোড_উইরয়েট রিজেক্সের সাথে কাজ করে এবং তাই কিছুটা ধীর। কিন্তু আপনি মাল্টিসাইট সেটআপে প্রয়োজনীয় অতিরিক্ত বিধিগুলি ব্যবহার করতে পারবেন না।
ফুসিয়া

4

ত্রুটি-বিচ্যুতি

#Jauntily show the admin’s email address in error message
SetEnv SERVER_ADMIN info@yoursite.com

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yoursite.com/.*$ [NC]
#RewriteRule \.(gif|jpg|png)$ – [F]
#RewriteRule \.(gif|jpg|png)$ http://www.yoursite.com/wp-content/uploads/2011/04/bracker_thou_shalt_not_steal24.jpg [R,L]

#block referring domains
#RewriteEngine on
#RewriteCond %{HTTP_REFERER} digg\.com [NC]
#RewriteRule .* – [F]

#Remove /category/ from your WordPress url
RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

#Redirect visitors to a maintenance page
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

#auto-correct simple URL spelling mistakes
<IfModule mod_speling.c>
CheckSpelling On
</IfModule>

#better login
RewriteRule ^login$ http://example.com/wp-login.php [NC,L]

2
আরে, দুর্দান্ত। Mod_speling মডিউল সম্পর্কে জানতেন না। এটা সহজ হতে হবে!
ড্যান গেইল

3

এটি আরও সুরক্ষিত কিছু আমি আশা করি আপনি এটি পছন্দ করেন

# BEGIN Wordpress Browser Cache
<IfModule mod_mime.c>
    AddType text/css .css
    AddType application/x-javascript .js
    AddType text/x-component .htc
    AddType text/html .html .htm
    AddType text/richtext .rtf .rtx
    AddType image/svg+xml .svg .svgz
    AddType text/plain .txt
    AddType text/xsd .xsd
    AddType text/xsl .xsl
    AddType text/xml .xml
    AddType video/asf .asf .asx .wax .wmv .wmx
    AddType video/avi .avi
    AddType image/bmp .bmp
    AddType application/java .class
    AddType video/divx .divx
    AddType application/msword .doc .docx
    AddType application/vnd.ms-fontobject .eot
    AddType application/x-msdownload .exe
    AddType image/gif .gif
    AddType application/x-gzip .gz .gzip
    AddType image/x-icon .ico
    AddType image/jpeg .jpg .jpeg .jpe
    AddType application/vnd.ms-access .mdb
    AddType audio/midi .mid .midi
    AddType video/quicktime .mov .qt
    AddType audio/mpeg .mp3 .m4a
    AddType video/mp4 .mp4 .m4v
    AddType video/mpeg .mpeg .mpg .mpe
    AddType application/vnd.ms-project .mpp
    AddType application/x-font-otf .otf
    AddType application/vnd.oasis.opendocument.database .odb
    AddType application/vnd.oasis.opendocument.chart .odc
    AddType application/vnd.oasis.opendocument.formula .odf
    AddType application/vnd.oasis.opendocument.graphics .odg
    AddType application/vnd.oasis.opendocument.presentation .odp
    AddType application/vnd.oasis.opendocument.spreadsheet .ods
    AddType application/vnd.oasis.opendocument.text .odt
    AddType audio/ogg .ogg
    AddType application/pdf .pdf
    AddType image/png .png
    AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
    AddType audio/x-realaudio .ra .ram
    AddType application/x-shockwave-flash .swf
    AddType application/x-tar .tar
    AddType image/tiff .tif .tiff
    AddType application/x-font-ttf .ttf .ttc
    AddType audio/wav .wav
    AddType audio/wma .wma
    AddType application/vnd.ms-write .wri
    AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
    AddType application/zip .zip
</IfModule>
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css A31536000
    ExpiresByType application/x-javascript A31536000
    ExpiresByType text/x-component A31536000
    ExpiresByType text/html A3600
    ExpiresByType text/richtext A3600
    ExpiresByType image/svg+xml A3600
    ExpiresByType text/plain A3600
    ExpiresByType text/xsd A3600
    ExpiresByType text/xsl A3600
    ExpiresByType text/xml A3600
    ExpiresByType video/asf A31536000
    ExpiresByType video/avi A31536000
    ExpiresByType image/bmp A31536000
    ExpiresByType application/java A31536000
    ExpiresByType video/divx A31536000
    ExpiresByType application/msword A31536000
    ExpiresByType application/vnd.ms-fontobject A31536000
    ExpiresByType application/x-msdownload A31536000
    ExpiresByType image/gif A31536000
    ExpiresByType application/x-gzip A31536000
    ExpiresByType image/x-icon A31536000
    ExpiresByType image/jpeg A31536000
    ExpiresByType application/vnd.ms-access A31536000
    ExpiresByType audio/midi A31536000
    ExpiresByType video/quicktime A31536000
    ExpiresByType audio/mpeg A31536000
    ExpiresByType video/mp4 A31536000
    ExpiresByType video/mpeg A31536000
    ExpiresByType application/vnd.ms-project A31536000
    ExpiresByType application/x-font-otf A31536000
    ExpiresByType application/vnd.oasis.opendocument.database A31536000
    ExpiresByType application/vnd.oasis.opendocument.chart A31536000
    ExpiresByType application/vnd.oasis.opendocument.formula A31536000
    ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
    ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
    ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
    ExpiresByType application/vnd.oasis.opendocument.text A31536000
    ExpiresByType audio/ogg A31536000
    ExpiresByType application/pdf A31536000
    ExpiresByType image/png A31536000
    ExpiresByType application/vnd.ms-powerpoint A31536000
    ExpiresByType audio/x-realaudio A31536000
    ExpiresByType image/svg+xml A31536000
    ExpiresByType application/x-shockwave-flash A31536000
    ExpiresByType application/x-tar A31536000
    ExpiresByType image/tiff A31536000
    ExpiresByType application/x-font-ttf A31536000
    ExpiresByType audio/wav A31536000
    ExpiresByType audio/wma A31536000
    ExpiresByType application/vnd.ms-write A31536000
    ExpiresByType application/vnd.ms-excel A31536000
    ExpiresByType application/zip A31536000
</IfModule>
<IfModule mod_deflate.c>
    <IfModule mod_setenvif.c>
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    </IfModule>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
    </IfModule>
</IfModule>
<FilesMatch "\.(css|js|htc|CSS|JS|HTC)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public, must-revalidate, proxy-revalidate"
    </IfModule>
    FileETag MTime Size
    <IfModule mod_headers.c>
         Header set X-Powered-By "W3 Total Cache/0.9.2.4"
    </IfModule>
</FilesMatch>
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|XML)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public, must-revalidate, proxy-revalidate"
    </IfModule>
    FileETag MTime Size
    <IfModule mod_headers.c>
         Header set X-Powered-By "W3 Total Cache/0.9.2.4"
    </IfModule>
</FilesMatch>
<FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|XLA|XLS|XLSX|XLT|XLW|ZIP)$">
    <IfModule mod_headers.c>
        Header set Pragma "public"
        Header append Cache-Control "public, must-revalidate, proxy-revalidate"
    </IfModule>
    FileETag MTime Size
    <IfModule mod_headers.c>
         Header set X-Powered-By "W3 Total Cache/0.9.2.4"
    </IfModule>
</FilesMatch>
# END Wordpress Browser Cache
# BEGIN Wordpress Page Cache core
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*\/)?Wordpress_rewrite_test$ $1?Wordpress_rewrite_test=1 [L]
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=Wordpress_ENC:_gzip]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP_HOST} =hubtank.com
    RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|\/feed\/|wp-.*\.php|index\.php) [NC,OR]
    RewriteCond %{REQUEST_URI} (wp-comments-popup\.php|wp-links-opml\.php|wp-locations\.php) [NC]
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_\[a-f0-9\]\+|wordpress_logged_in) [NC]
    RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache/0\.9\.2\.4) [NC]
    RewriteCond "%{DOCUMENT_ROOT}/wp-content/Wordpress/pgcache/%{REQUEST_URI}/_index%{ENV:Wordpress_UA}%{ENV:Wordpress_REF}%{ENV:Wordpress_SSL}.html%{ENV:Wordpress_ENC}" -f
    RewriteRule .* "/wp-content/Wordpress/pgcache/%{REQUEST_URI}/_index%{ENV:Wordpress_UA}%{ENV:Wordpress_REF}%{ENV:Wordpress_SSL}.html%{ENV:Wordpress_ENC}" [L]
</IfModule>
# END Wordpress Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.