જ્ઞાન પૃષ્ટ પ્રોફિટસર્વર સેવા સાથે કામ કરવા માટેની સરળ સૂચનાઓ
મુખ્ય જ્ઞાન પૃષ્ટ .htaccess ફાઇલ ગોઠવી રહ્યા છીએ

.htaccess ફાઇલ ગોઠવી રહ્યા છીએ


આ લેખમાં, આપણે .htaccess ફાઇલનો ઉપયોગ કરવાના મૂળભૂત સિદ્ધાંતોનું અન્વેષણ કરીશું, જે SEO વધારવા માટે મહત્વપૂર્ણ છે. આ ફાઇલ સર્ચ એન્જિન દ્વારા પૃષ્ઠોનું યોગ્ય અનુક્રમણિકા સુનિશ્ચિત કરે છે. આપણે રીડાયરેક્ટ્સનું સંચાલન કેવી રીતે કરવું, સુરક્ષા ગોઠવવી અને પ્રદર્શન કેવી રીતે વધારવું તે શીખીશું. વધુમાં, અમે આ ફાઇલને સ્વતંત્ર રીતે કેવી રીતે ગોઠવવી તે અંગે ટિપ્સ આપીશું.

.htaccess શા માટે જરૂરી છે?

.htaccess ફાઇલ Apache સર્વર્સ પર વેબ ડેવલપર્સ માટે એક પ્રકારના "રિમોટ કંટ્રોલ" તરીકે કાર્ય કરે છે. તે વિવિધ પરિમાણોને સમાયોજિત કરવા અને વેબસાઇટના વર્તનને સંચાલિત કરવા માટે અનુકૂળ સાધનો પ્રદાન કરે છે. જ્યારે સર્વરની મુખ્ય ગોઠવણી ફાઇલોની સીધી ઍક્સેસ ઉપલબ્ધ ન હોય (જેમ કે ઘણીવાર વર્ચ્યુઅલ હોસ્ટિંગના કિસ્સામાં થાય છે), ત્યારે .htaccess જરૂરી ફેરફારો કરવા માટે એક ઉપયોગી સાધન બની જાય છે.

Htaccess ઘણીવાર તમારી સાઇટના રૂટ ફોલ્ડરમાં અથવા એવા ફોલ્ડરમાં સ્થિત હોય છે જ્યાં ખાસ ગોઠવણીની જરૂર હોય છે. ઉદાહરણ તરીકે, જો તમે WordPress નો ઉપયોગ કરો છો, તો ગોઠવણી Yoast SEO પ્લગઇન દ્વારા કરી શકાય છે, જેની ચર્ચા આપણે robots.txt રૂપરેખાંકિત કરવાના લેખમાં કરી છે . અન્ય કિસ્સાઓમાં, જરૂરી ફોલ્ડરમાં જઈને હાલની .htaccess ફાઇલને સંપાદિત કરવા, અથવા જો તે હજી સુધી બનાવવામાં ન આવી હોય તો તેને બનાવવા માટે પૂરતું છે.

.htaccess ફાઇલને ગોઠવી રહ્યા છીએ

301 htaccess રીડાયરેક્ટ કરો

.htaccess ફાઇલમાં 301 રીડાયરેક્ટને વેબસાઇટ પર કાયમી રીડાયરેક્ટ સાથે સરખાવી શકાય છે. તે સર્ચ એન્જિન અને બ્રાઉઝર્સને જાણ કરે છે કે પેજ હવે કાયમી ધોરણે નવા સરનામાં પર સ્થિત છે અને બુકમાર્ક્સ અને ઇન્ડેક્સિંગને અપડેટ કરવાનું સૂચન કરે છે. આવા રીડાયરેક્ટેશનનો ઉપયોગ સામાન્ય રીતે ત્યારે થાય છે જ્યારે કોઈ પેજને શોધ પરિણામોમાં તેની રેન્કિંગ જાળવવા અને મુલાકાતીઓને નવા સ્થાન પર રીડાયરેક્ટ કરવા માટે ખસેડવામાં આવે છે અથવા કાઢી નાખવામાં આવે છે.

રીડાયરેક્ટ્સને સક્રિય કરવા માટે, તમારે .htaccess ફાઇલમાં અનુરૂપ આદેશ સક્ષમ કરવાની જરૂર છે:

RewriteEngine on

તે પછી, તમે રીડાયરેક્શનના સૌથી સરળ સ્વરૂપને ગોઠવી શકો છો:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

RedirectPermanent ડાયરેક્ટિવનો ઉપયોગ કરીને સમાન રીડાયરેક્ટ આના જેવું દેખાય છે:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

આ રૂપરેખાંકિત કરવા માટે સૌથી સરળ રીડાયરેક્ટ પદ્ધતિઓ છે. ચાલો એક રૂપરેખાંકન ધ્યાનમાં લઈએ જે mod_rewrite મોડ્યુલ સાથે અન્ય, વધુ અદ્યતન પ્રકારના રીડાયરેક્શનનો ઉપયોગ કરે છે:

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

302 રીડાયરેક્ટ .htaccess, જે કામચલાઉ સ્થાનાંતરણ સૂચવે છે, તે ઘણી ઓછી વાર જોવા મળે છે. અહીં આવી સેટિંગનું ઉદાહરણ છે:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

નિર્દેશક ભૂલ દસ્તાવેજ

આ સેટિંગ તમને તમારી સાઇટ પર HTTP ભૂલો થાય ત્યારે વપરાશકર્તા શું જુએ છે તે નિયંત્રિત કરવાની મંજૂરી આપે છે. માનક ભૂલ સંદેશને બદલે, તમે તમારું પોતાનું પૃષ્ઠ બતાવી શકો છો, જે મુલાકાતી માટે વધુ માહિતીપ્રદ હશે અને તેમને શું થયું તે સમજવામાં મદદ કરશે. ઉપયોગ માટે ફક્ત આ વાક્યરચનાનું પાલન કરો:

ErrorDocument <error_code> <URL_page>

દાખ્લા તરીકે,

ErrorDocument 404 /errors/not_found.html

મતલબ કે જ્યારે 404 ભૂલ થાય છે, ત્યારે /errors/not_found.html પરનું પૃષ્ઠ ખુલશે. સંપૂર્ણ URL એ જ રીતે ઉલ્લેખિત છે:

ErrorDocument 500 http://example.com/errors/server_error.html

આ ઉદાહરણ 500 ભૂલની ઘટનામાં http://example.com/errors/ પર server_error.html પેજના પ્રદર્શનને સૂચવે છે.

સાઇટ ડિરેક્ટરીની ઍક્સેસનો ઇનકાર કરવો

.htaccess ફાઇલમાં "Deny from all" આદેશ છે , જે તમારા વેબ સર્વર પરના ચોક્કસ ફોલ્ડર્સ અથવા ફાઇલોની ઍક્સેસને નકારવામાં મદદ કરે છે. જો તમે ડેટા સુરક્ષા સુનિશ્ચિત કરવા માટે સાઇટ મુલાકાતીઓથી ખાનગી માહિતી અથવા મહત્વપૂર્ણ ફાઇલો છુપાવવા માંગતા હો, તો આ ઉપયોગી થઈ શકે છે.

સૂચિને અક્ષમ કરવા માટે (બધી ઉપલબ્ધ ડિરેક્ટરીઓ જોવી), તમારે આ લાઇન ઉમેરવાની જરૂર છે:

Options -Indexes

ચોક્કસ ડિરેક્ટરીની ઍક્સેસને અવરોધિત કરવાનું ઉદાહરણ આના જેવું દેખાય છે:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

એ જ રીતે, તમે એક ફાઇલની ઍક્સેસને નકારી શકો છો:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

અથવા એક્સટેન્શન દ્વારા ફાઇલોની શ્રેણી માટે:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

IP દ્વારા ઍક્સેસ અવરોધિત કરવી

.htaccess ફાઇલમાં IP દ્વારા ઍક્સેસને અવરોધિત કરવી એ એક પદ્ધતિ છે જે તમને ચોક્કસ IP સરનામાં અથવા તેમના જૂથો માટે તમારી વેબસાઇટની ઍક્સેસને પ્રતિબંધિત કરવાની મંજૂરી આપે છે. જો તમે ચોક્કસ લોકો અથવા અનિચ્છનીય બોટ્સ માટે તમારી સાઇટ અથવા તેના ચોક્કસ ભાગોની ઍક્સેસને રોકવા માંગતા હો, તો આ ઉપયોગી થઈ શકે છે.

એક જ IP સરનામાંને અવરોધિત કરવાનું આદેશ દ્વારા કરવામાં આવે છે:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

" Deny from " લાઇનને જરૂરી સરનામાંઓ સાથે ડુપ્લિકેટ કરીને ઘણા IP સરનામાંઓને અવરોધિત કરવાનું એ જ રીતે કરવામાં આવે છે .

વિવિધ પ્રકારના IP સરનામાંઓને અવરોધિત કરવા માટે:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

ફક્ત ચોક્કસ IP માટે જ ઍક્સેસ આપવા માટે, કોડ ઉમેરો:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

ઍક્સેસના સંપૂર્ણ ઇનકાર માટે, Deny from all ડાયરેક્ટિવનો ઉપયોગ કરો , અને માસ્ક દ્વારા સરનામાંઓને અવરોધિત કરવા માટે, Deny from 11.22 નો ઉલ્લેખ કરો.

જ્યાં, ૧૧.૨૨ એ IP એડ્રેસ માસ્ક છે.

યુઝર-એજન્ટ દ્વારા મુલાકાતીઓને અવરોધિત કરવા

.htaccess ફાઇલમાં યુઝર-એજન્ટ દ્વારા યુઝર્સને બ્લોક કરવું એ મુલાકાતી જે બ્રાઉઝરનો ઉપયોગ કરે છે તેના વિશેની માહિતીના આધારે તમારા વેબ સર્વરને કોણ એક્સેસ કરી શકે છે તે નિયંત્રિત કરવાની એક પદ્ધતિ છે. યુઝર-એજન્ટ સ્ટ્રિંગમાં તમારા સર્વર સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે વ્યક્તિ જે બ્રાઉઝરનો ઉપયોગ કરે છે તેના વિશેનો ડેટા હોય છે, અને આ માહિતીનો આભાર, તમે ચોક્કસ યુઝર માટે એક્સેસને પ્રતિબંધિત કરી શકો છો.

યુઝર-એજન્ટ દ્વારા બ્લોક કરવાની સૌથી સામાન્ય રીત mod_rewrite નો ઉપયોગ કરવાનો છે :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

આ ઉદાહરણમાં:

  1. RewriteCond %{HTTP_USER_AGENT} નો ઉપયોગ યુઝર-એજન્ટ સ્ટ્રિંગ તપાસવા માટે થાય છે.
  2. ^Bot1, ^Bot2, ^Bot3 એ યુઝર-એજન્ટ સ્ટ્રિંગ્સના ઉદાહરણો છે જેને આપણે બ્લોક કરવા માંગીએ છીએ. NC મોડિફાયર સૂચવે છે કે સરખામણી કેસ-અસંવેદનશીલ હોવી જોઈએ.
  3. RewriteRule ^.*$ - જો RewriteCond ની કોઈપણ શરતો પૂર્ણ થાય છે, તો [F,L] વિનંતી પર લાગુ થાય છે. તે 403 Forbidden status code (F) સાથે પ્રતિભાવ મોકલે છે અને નિયમો (L) ની પ્રક્રિયા કરવાનું બંધ કરે છે.

htaccess માં કેશીંગ

.htaccess ફાઇલ દ્વારા કેશીંગ ગોઠવવાથી વપરાશકર્તાઓ માટે તમારી સાઇટ ઝડપથી લોડ થાય છે, જેનાથી તે ઝડપી બને છે. તે આ રીતે કાર્ય કરે છે: છબીઓ, CSS શૈલીઓ અને JavaScript સ્ક્રિપ્ટ્સ જેવી કેટલીક ફાઇલો, પ્રથમ લોડ પછી વપરાશકર્તાના બ્રાઉઝર કેશમાં સંગ્રહિત થાય છે. હવે બ્રાઉઝર આ ફાઇલોનો ઉપયોગ કેશમાંથી કરી શકે છે, વપરાશકર્તા દર વખતે જ્યારે પણ પૃષ્ઠની મુલાકાત લે છે ત્યારે સર્વરમાંથી ફરીથી લોડ કરવાને બદલે. આ લોડિંગ સમય ઘટાડે છે અને સાઇટ પ્રદર્શનમાં સુધારો કરે છે.

એક ઉદાહરણ ધ્યાનમાં લો:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

બીજી બાજુ, વારંવાર અપડેટ થતા સંસાધનો માટે, કેશીંગને અક્ષમ કરવું જરૂરી છે:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

સાઇટ પ્રદર્શનને ઑપ્ટિમાઇઝ કરવું

Apache માં mod_deflate અને mod_gzip મોડ્યુલ્સ સર્વર દ્વારા વપરાશકર્તાઓના ઉપકરણો પર મોકલવામાં આવતી માહિતીને સંકુચિત કરવામાં મદદ કરે છે. આ ફાઇલોને કદમાં નાની બનાવે છે, જે બદલામાં પૃષ્ઠ લોડિંગને ઝડપી બનાવે છે. જો કે, એ યાદ રાખવું મહત્વપૂર્ણ છે કે આ મોડ્યુલોનો સપોર્ટ અને ગોઠવણી તમારા સર્વરના આધારે બદલાઈ શકે છે.

mod_deflate મોડ્યુલનો ઉપયોગ કરવાનું ઉદાહરણ :

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

mod_gzip માટે ઉદાહરણ :

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

અમે સૌથી વધુ ઉપયોગમાં લેવાતા નિર્દેશોની ચર્ચા કરી. તમે સત્તાવાર દસ્તાવેજોમાં ફાઇલની બધી ક્ષમતાઓથી પોતાને પરિચિત કરી શકો છો.

.htaccess ફાઇલની કાર્યક્ષમતા કેવી રીતે તપાસવી

તમારી .htaccess ફાઇલ સાઇટ પર કામ કરી રહી છે કે નહીં તે ચકાસવા માટે, તમે નીચેના પગલાંઓ અનુસરી શકો છો:

  1. ઇરાદાપૂર્વક .htaccess ફાઇલમાં ભૂલ બદલો. જવાબમાં, સર્વરે ભૂલ આપવી જોઈએ. આ પદ્ધતિ બતાવે છે કે ફાઇલનું સંચાલન સામાન્ય રીતે સર્વર પર લાગુ થાય છે કે નહીં.
  2. તમે કરેલા ચોક્કસ ફેરફારોની કાર્યક્ષમતા તપાસો. ઉદાહરણ તરીકે, કોઈ એક પરિમાણોમાં થોડું ગોઠવણ કરો અને ફેરફારોની હાજરીનું મૂલ્યાંકન કરો.
  3. જો ફેરફારો સર્વરના પ્રતિભાવ સાથે સંબંધિત હોય તો પૃષ્ઠનો સ્ટેટસ કોડ તપાસો. આ કેવી રીતે કરવું, અમે અગાઉ લેખમાં વર્ણવ્યું હતું. HTTP ભૂલ કોડ્સ: સર્વર ભૂલોની સંપૂર્ણ સૂચિ.
  4. સર્વર લોગનો સંદર્ભ લો. તેઓ .htaccess ફાઇલના સંચાલન સંબંધિત બધી ભૂલો દર્શાવે છે.
  5. ઓનલાઈન સેવાઓ અથવા સાધનોનો ઉપયોગ કરીને પરીક્ષણ કરો.

એ સમજવું અગત્યનું છે કે .htaccess ફાઇલની કાર્યક્ષમતા ચકાસવા માટે, તમારે એક જ સમયે બધા પગલાં ભરવાની જરૂર નથી. સૂચિમાંથી સૌથી યોગ્ય પદ્ધતિ પસંદ કરવા અને તેનો ઉપયોગ કરવા માટે તે પૂરતું છે.

ઉપસંહાર

.htaccess ફાઇલને ગોઠવવી એ તમારા Apache સર્વરને ઑપ્ટિમાઇઝ અને સુરક્ષિત કરવા માટે એક મહત્વપૂર્ણ પગલું છે. અમે શોધ્યું છે કે આ ફાઇલ રીડાયરેક્ટ્સને મેનેજ કરવામાં, સામગ્રીને સંકુચિત કરવામાં અને સુરક્ષા સુનિશ્ચિત કરવામાં કેવી રીતે મદદ કરે છે. એકવાર તમે .htaccess સાથે કામ કરવામાં નિપુણતા મેળવી લો, પછી તમને વેબસાઇટ્સના પ્રદર્શન અને કાર્યક્ષમતાને સુધારવા માટે એક શક્તિશાળી સાધન મળે છે.

❮ પાછલો લેખ Linux પર વેબ સર્વર (Apache-PHP-MySQL/MariaDB) કેવી રીતે ગોઠવવું
આગામી લેખ ❯ FTP સર્વર સેટઅપ

VPS વિશે અમને પૂછો

અમે દિવસ કે રાતના કોઈપણ સમયે તમારા પ્રશ્નોના જવાબ આપવા માટે હંમેશા તૈયાર છીએ.