Wied Webdesign

Trænger din hjemmeside til et eftersyn?

Din hjemmeside er dit butiksvindue på nettet. Lad den være indbydende og brugervenlig.

Hjem Blog Brug Joomlas htaccess rigtigt

Alt for få bruger de muligheder htaccess giver. Med en meget lille indsats, kan du få:

  • Pæne, korte og søgemaskineoptimerede url'er.
  • Et mere sikkert site, der blokerer for en række "almindelige" hackerangreb.

Som standart genererer Joomla nogle meget lange kryptiske url'er som f.eks "ditdomaene.dk/index.php?option=com_content&view=article&id=121". Sådan en url giver ingen mening, hverken for dine besøgende eller for søgemaskiner. Med htaccess kan du omskrive url'en til en meningsfuld og læsbar url som "ditdomaene.dk/kontakt".

Med 3 simple trin kan du få søgemaskinevenlige url'er:

  1. I roden af din Joomla-installation ligger der en fil der hedder htaccess.txt. Åben filen og find dette afsnit:

    #<files ~ "\.xml$">
    #Order allow,deny
    #Deny from all
    #Satisfy all
    #</files>

    Fjern kommentartegnene (#) fra disse linjer, det skal se sådan ud:

    <files ~ "\.xml$">
    Order allow,deny
    Deny from all
    Satisfy all
    </files>
  2. Omdøb filen til .htaccess. Altså uden fornavn og med endelsen htaccess. Det kan du gøre i dit ftp-program eller med en teksteditor.
  3. I Joomlas kontrolpanel går du til 'Konfiguration' -> vælg fanebladet 'Server' -> under 'SEO indstillinger' sætter du 'Søgemaskinevenlige internetadresser' og 'Brug Apache mod_rewrite' til Ja.
    sefurl

Htaccess bruger Apaches mod_rewrite til at omskrive url'erne. Hvis din host ikke understøtter dette, vil du få en fejl 500 Internal Server Error. Bed din host om at slå mod_rewrite til.

Mod_rewrite er et meget kraftfuld værktøj, så vær påpasselig med ikke at ændre i filen, med mindre du ved hvad du gør. Htaccess og mod_rewrite kan bruges til mange andre nyttige ting, som at redirecte besøg, blokere bestemte typer besøg og meget andet.

Htaccess kan du læse mere om på:
http://en.wikipedia.org/wiki/Htaccess
http://httpd.apache.org/docs/1.3/howto/htaccess.html

Hvis du vil lære mere om advanceret brug af mod_rewrite, kan jeg anbefale bogen The Definitive Guide to Apache mod_rewrite

 

9 kommentarer

Feed
  1. Fin lille artikel - jeg har dog en lille tilføjelse:

    Skulle man stå i den uheldige situation, at ens udbyder ikke har slået rewrite til, så kan man også få pæne urls ved blot at aktivere "søgemaskinevenlige urls" og lade rewrite parametret stå til "Nej".
  2. Ja det kan man. Men det kan ikke anbefales.

    Der er efter min mening ingen grund til ikke at bruge de sikkerhedsforanstaltninger man har lige ved hånden.

    Derfor anbefales det da også på sikkerheds-tjeklisten at bruge htaccess.
  3. Det er efter min mening en stor fejl at seo adresser ikke er slået til når man har installeret joomla.
  4. Hej Bent

    Det er jeg ikke enig med dig i.

    Det er jo ikke alle hosts der understøtter brug af htaccess, eller har det slået til som standard. I de tilfælde ville det resultere i en fejlmeddelelse, og en nybegynder ville sikkert ikke komme længere.

    Desuden er .htaccess en Apache konfigurationsfil, og dermed ville der være fare for at overskrive en eksisterende .htaccess hvis den var aktiveret når du installerer Joomla.
  5. Fin artikel, tak for den :)
  6. Det omtalte afsnit kan jeg ikke finde i min htaccess.txt fil?
  7. Den omtalte afsnit i htaccess filen har jeg ikke. Kan man skrive det ind og i så fald hvor i filen?
  8. Her får du en standart htaccess-fil fra en Joomla 1.5.15 med kommentartegnene fjernet fra de omtalte linjer :

    ##
    # @version $Id: htaccess.txt 13415 2009-11-03 15:53:25Z ian $
    # @package Joomla
    # @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
    # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    # Joomla! is Free Software
    ##
    
    
    #####################################################
    #  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
    #
    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations.  It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's.  If they work,
    # it has been set by your server administrator and you do not need it set here.
    #
    #####################################################
    
    ##  Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks
    
    #
    #  mod_rewrite in use
    
    RewriteEngine On
    
    ########## Begin - Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    # Deny access to extension xml files (uncomment out to activate)
    <Files ~ "\.xml$">
    Order allow,deny
    Deny from all
    Satisfy all
    </Files>
    # End of deny access to extension xml files
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## End - Rewrite rules to block out some common exploits
    
    #  Uncomment following line if your webserver's URL
    #  is not directly related to physical file paths.
    #  Update Your Joomla! Directory (just / for root)
    
    # RewriteBase /
    
    
    ########## Begin - Joomla! core SEF Section
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
    RewriteRule (.*) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    #
    ########## End - Joomla! core SEF Section


    Så skulle der ikke være noget at være i tvivl om :-)
  9. Hvis du anvender one.com er her en holdbar løsning: Linktekst til "søgevenlige" urls.

Tilføj kommentar

Vis ansigt med en Gravatar

    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)

     

    line-wied
    Line Wied blogger om CMS systemet Joomla og webdesign. Her er Tips, tricks og vejledninger i professionelt webdesign og udvikling af Joomla templates og lidt om livet i al almindelighed - som iværksætter og webnørd i særdeleshed.

    Gratis glæder i din indbakke

    Få nye blogindlæg direkte i din indbakke - skriv din email:

    fb
    linkedin

    Iværksæt en iværksætter

    Wied Webdesign støtter andre iværksættere med mikrolån:

    Kiva - loans that change lives

    joomladay2010-small

    joomla_download