Resultat 1 till 14 av 14

Dölja joomla subfolder i adressfältet

  1. #1
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Hej jag har två problem med min joomla site som jag inte lyckas få rätt på.

    Min .htaccess innehåller nedan och detta fungerar i stort som jag vill, förrutom de två sista raderna (om det är optimalt vet jag dock inte)
    I kort vad detta gör är att omvandla allt som inte är www.incumbo.com görs om till detta.
    Undantaget är ett antal foldrar som jag inte vill köra några regler på.
    Så t.ex. dev.incumbo.com incumbo.com www.incumbo.com/pre skrivs alla om,
    medans t.ex. www.incumbo.com/drupal och www.incumbo.com/test inte rörs. Inte heller www.incumbo.com/joomla rörs och det kanske är en del av problemt?

    Det jag vill är att t.ex www.incumbo.com/pre skrivs om till www.incumbo.com och inte www.incumbo.com/joomla.
    Problemet är att jag inte vet hur jag skall skriva i RewriteRule för att ersätts /pre med en helt tom sträng.

    Sedan då jag har joomla installerat i en subfolder i rooten så hade jag hoppat på att kunna göra en rewrite så att alla adresser ner i joomlakatalogen döljs i adressfältet.
    index.php döljer jag redan i joomla så det är bara joomla folder jag behöver gömma.
    Dvs. www.incumbo.com/joomla blir www.incumbo.com (detta funderar delvis) och www.incumbo.com/joomla/blog skall bli www.incumbo.com/blog.
    Jag har försökt massor med olika förslag på webben med oavsätt vad jag provar så syns fortfarande jooml i adressfältet.

    Jag hoppades att det är det någon här som har några förslag?

    RewriteCond %{REQUEST_URI} !(\.|/$)
    RewriteRule (.*) http://www\.incumbo\.com/$1/ [R=301,L]

    RewriteCond %{HTTP_HOST} ^incumbo\.com$ [NC]
    RewriteRule ^/?(.*)$ http://www\.incumbo\.com/$1 [r=301,L]

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

    RewriteCond %{REQUEST_URI} ^/(drupal|wordpress|joomla|dev|test|workingbackup) [NC]
    RewriteRule ^.*$ - [L,S=2]

    RewriteCond %{HTTP_HOST} ^www\.incumbo\.com [NC]
    RewriteCond %{REQUEST_URI} ^/(.+) [NC]
    RewriteRule ^(.*)$ ?/ [L]

    RewriteRule ^(.*)$ joomla/$1 [L]
    (har även provat varianten som föreslagits här på SEO med {REQUEST_FILENAME} !-f och {REQUEST_FILENAME} !-d utan framgång)

  2. #2
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Hej.
    Här var lite kod att bita i. Kul =)

    Som jag förstår det så har du några mappar som du inte vill köra regler på (drupal|wordpress|joomla|dev|test|workingbackup). Annars så vill du att allt ska gå till joomla mappen. Men du vill inte att det ska vara en redirect utan att det ska "gömmas".

    Jag går igenom din .htaccess fil och skriver lite kommentarer. Det är lite frågetecken här och där.

    Kod:
    #Regel 1
    #Om URI inte innehåller punkt eller slash, skriv om till http://www.incumbo.com/$1. 
    #Vad är syftet med denna regel? 
    RewriteCond %{REQUEST_URI} !(\.|/$)
    RewriteRule (.*) http://www\.incumbo\.com/$1/ [R=301,L]
    
    #Regel 2
    #Om host är incumbo.com skriv om till www.incumbo.com
    RewriteCond %{HTTP_HOST} ^incumbo\.com$ [NC]
    RewriteRule ^/?(.*)$ http://www\.incumbo\.com/$1 [r=301,L]
    
    #Regel 3
    #Om host inte är www.incumbo.com skriv om till www.incumbo.com
    #Regeln över är en delmängd av regel 2. Detta innebär att regel 2 överflödig.
    RewriteCond %{HTTP_HOST} !^www\.incumbo\.com [NC] 
    RewriteRule ^(.*)$ http://www\.incumbo\.com/$1 [R=301,L]
    
    #Regel 4
    # Om URI börjar på någon av dessa mappar så hoppa över följande 2 regler. 
    # L betyder Last. S står för Skipp. Dessa två behöver aldrig användas tillsammans. 
    # Om du säger att en denna regel ska vara sist så hoppar du automatiskt över dem nästa..
    RewriteCond %{REQUEST_URI} ^/(drupal|wordpress|joomla|dev|test|workingbackup) [NC]
    RewriteRule ^.*$ - [L,S=2]
    
    #Regel 5
    #Om host är www.incumbo.com och URI är minst ett tecken. 
    #så SYNTAX ERROR
    #Vi vet också att host kommer vara www.incumbo.com tack vare Regel 3
    RewriteCond %{HTTP_HOST} ^www\.incumbo\.com [NC]
    RewriteCond %{REQUEST_URI} ^/(.+) [NC]
    RewriteRule ^(.*)$ ?/ [L]
    
    #Regel 6
    #Skriv om allt till joomla/$1
    RewriteRule ^(.*)$ joomla/$1 [L]
    (har även provat varianten som föreslagits här på SEO med {REQUEST_FILENAME} !-f och {REQUEST_FILENAME} !-d utan framgång)
    Detta är ganska många regler och jag kan inte testa så det kanske inte blir helt rätt på första försöket. Men detta är mitt förslag till förbättring av din .htaccess fil. Jag har kvar numereringen på reglerna.


    Kod:
    #Regel 1
    #Om URI inte innehåller punkt eller slash, skriv om till http://www.incumbo.com/$1. 
    #Jag förstår inte syftet med denna regel men det gör säkert du så jag har kvar den.
    RewriteCond %{REQUEST_URI} !(\.|/$)
    RewriteRule (.*) http://www\.incumbo\.com/$1/ [R=301,L]
    
    #Regel 3
    #Om host inte är www.incumbo.com skriv om till www.incumbo.com
    RewriteCond %{HTTP_HOST} !^www\.incumbo\.com [NC] 
    RewriteRule ^(.*)$ http://www\.incumbo\.com/$1 [R=301,L]
    
    #Regel 4
    # Om URI börjar på någon av dessa mappar så hoppa över följande 2 regler. 
    RewriteCond %{REQUEST_URI} ^/(drupal|wordpress|dev|test|workingbackup) [NC]
    RewriteRule ^.*$ - [L]
    
    #Regel 6
    #Om inte URI börjar med joomla, 
    #Skriv om till /joomla/$1
    #Ta också med en eventuell query string
    RewriteCond %{REQUEST_URI} !^/joomla) [NC]
    RewriteRule ^(.*)$ /joomla/$1 [L, QSA]
    Jag tog bort joomla ur regel 4. Annars kommer regel 6 aldrig att köras. Testa gärna och återkom med utfallet.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  3. #3
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Tack för att du tittat igenom det hela.

    Jag tog hjälp av dina tips för att minska på antal regler. Se mina kommentarer nedan.

    Regel1 & Regel2 borttagna.

    #Regel 3
    #Om host inte är www.incumbo.com skriv om till www.incumbo.com
    RewriteCond %{HTTP_HOST} !^www\.incumbo\.com [NC]
    RewriteRule ^(.*)$ http://www\.incumbo\.com/$1 [R=301,L]

    #Regel 4
    # Om URI börjar på någon av dessa mappar så stoppa
    RewriteCond %{REQUEST_URI} ^/(drupal|wordpress|dev|test|workingbackup) [NC]
    RewriteRule ^.*$ - [L]

    #Regel 5
    #Om det skrivs en subfolder direkt efter www.incumbo.com som inte är en av undantagen
    # t.ex. www.incumbo.com/pre så skriv om till www.incumbo.com
    #Utan denna regel så blir texten efter domännamnet kvar, dvs. www.incumbo.com/pre.
    #Jag vill ersätta denna text med {tom_sträng}. Detta är mest en kosmetisk sak.
    RewriteCond %{REQUEST_URI} ^/(.+) [NC]
    RewriteRule ^(.*)$ {tom_sträng} [L]

    #Regel 6-Ulf
    #Skriv om URI till joomla/$1
    #Det jag försöker åstadkomma här är alltså att man skall kunna
    #skriva www.incumbo.com/blog och inte behöva skriva www.incumbo.com/joomla/blog
    #för att komma rätt. Jag vill alltså att joomla foldern inte visas i adressfältet.
    #Så egentligen försöker jag få bort joomla och inte lägga till...
    RewriteRule ^(.*)$ joomla/$1 [L]

    #Regel 6-Tobias
    # Genererar tyvärr 500 Internal Error
    #Om inte URI börjar med joomla så skriv om till /joomla/$1
    #Ta också med en eventuell query string
    #RewriteCond %{REQUEST_URI} !^/joomla) [NC]
    #RewriteRule ^(.*)$ /joomla/$1 [L, QSA]
    Senast redigerat av Trudd den 2012-04-26 klockan 00:01.

  4. #4
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Jo jag är med på vad du vill göra.
    När ett request kommer in så vill du ge requestet till mappen filerna i mappen /joomla. Du vill inte göra ett redirect. Du vill heller inte att /joomla ska synas.

    Har du en .htaccess fil i joomla mappen?
    CTO på Happyr.com. Vi gör rekrytering effektivt

  5. #5
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Ja den hade följande regler :

    #Joomla folder .htaccess
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^index\.php
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]

    Jag har tagit bort alla rader för tillfället, utom
    RewriteEngine On (utan denna kvar så fungerar inget)
    och lagt in regeln i min .htaccess i rooten istället, som nedan.

    #Root folder .htaccess
    #Regel 8
    #Provade lägga in din regel här men det blir fortfarande 500 Internal Error
    #Det är tydligen QSA biten som orsakar detta
    #Jag har provat olika varianter men detta är det närmaste jag kommer just nu
    #Joomla/index.php visas rätt men Joomla/Blog/index.php t.ex. fungerar inte
    #Jag fick till en variant där blog mm fungerade men då slutade formateringen på
    #sidorna att fungera
    RewriteRule ^(.*)$ joomla/$1 [L]

  6. #6
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Har med lite hjälp ytterligare trimmat det hela och även fått regel 5 att fungera som tänkt. Så nu är det "bara" sista regeln kvar att få till.

    #Regel 3
    RewriteCond %{HTTP_HOST} !^(www\.incumbo\.com)?$
    RewriteRule ^(.*)$ h**p://www.incumbo.com/$1 [R=301,L]
    #Regel 4
    RewriteRule ^(drupal|wordpress|dev|test|workingbackup) - [L]
    #Regel 5
    RewriteCond %{THE_REQUEST} /[a-zA-Z]
    RewriteRule . h**p://www.incumbo.com/ [R=301,L]
    #Regel 6
    #Söker fortfarande lösningen på hur www.incumbo.com/joomla/*
    #kan ersättas med www.incumbo.com/*
    RewriteRule ^(.*)$ joomla/$1 [L]

  7. #7
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Jag tycker det ser ut om det fungerar.

    Sätt en rewrite base i /joomla/.htaccess bara så. Sen ska du väl tala om för joomla att installationen ligger i rootmappen.

    Kod:
    #/joomla/.htaccess
    #Joomla folder .htaccess
    RewriteEngine On
    RewriteBase /joomla
    RewriteCond %{REQUEST_URI} !^index\.php
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]
    CTO på Happyr.com. Vi gör rekrytering effektivt

  8. #8
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Förhoppningen var att jag skulle kunna ge dig ett kort svar, men jag är rädd för att jag blir lite långrandig ännu en gång.

    Vad det verkar så fungerar nu .htaccess i rooten
    Den skickar alltså besökaren vidare till www.incumbo.com/joomla
    utan att visa joomla på slutet.

    Sedan blir det nog upp till .htaccess filen i joomla foldern att
    få bort joomla ur adressfältet med en rewrite precis som den redan gör med index.php

    I joomla/configuration.php har jag
    $sef = '1';
    $sef_rewrite = '1';

    Och om jag väljer att sätta värdet

    $live_site = 'http://www.incumbo.com/joomla';

    så måste jag ha RewriteBase /joomla för att sidan skall presenteras rätt
    (förrutom att joomla syns i adressfältet)

    om jag istället har

    $live_site = 'http://www.incumbo.com';

    så oavsätt om jag har / eller /joomla som RewriteBase så blir
    länkarna rätt i statusbaren (dvs. utan joomla) men när jag
    klickar på en länk så hamnar jag bara på www.incumbo.com
    (kanske för en annan rewrite regel?)
    Jag förlorar dessutom all css formatering på sidan (gissar jag att det är)

    Även om det andra exemplet ser sämre ut så undrar jag om det inte är rätt väg att gå.
    Att länkarna pekar rätt måste ju vara ett bra tecken. Nu gäller det bara att finna ut
    varför jag inte hamnar där. Att formateringen saknas antar jag beror på att joomla
    hamnar fel i folderstrukturen och inte heller detta vet jag hur jag skall lösa.

    Jag har sett flera förslag om hur detta med joomla i underfolder skall lösas och just nu
    ser min kod ut som flera påstår fungerar. Inte här bara...

    Nedan är joomla/.htaccess men som sagt RewriteBase kan variera beroende på värden i configuration.php
    Jag har provat alla möjliga varianter med och utan joomla i regeln men inte hittat något som fungerar.

    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /joomla

    #Regel 1
    RewriteCond %{REQUEST_URI} !^index\.php
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    RewriteRule ^(.*)$ index.php [L]

  9. #9
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Jag tycker vi närmar oss. Fast det inte alls liknar det.. Jag tror du gjort rätt inställningar i Joomla eftersom URLerna blir rätt. Jag gissar att du har statiska filer för att visa tex css.
    Vi ska lägga till #Om det du söker är en fil, kör inte våra regler.

    Kod:
    #Regel 6
    #Om inte request går till en fil
    #Om inte URI börjar med joomla,  #Skriv om till /joomla/$1 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/joomla) [NC] RewriteRule ^(.*)$ /joomla/$1 [L]
    Jag tror att /joomla/.htaccess ser bra ut så där.

    Varför har du regel 5?
    Kod:
    #Regel 5
    #Om det skrivs en subfolder direkt efter www.incumbo.com som inte är en av undantagen
    # t.ex. www.incumbo.com/pre så skriv om till www.incumbo.com
    #Utan denna regel så blir texten efter domännamnet kvar, dvs. www.incumbo.com/pre.
    #Jag vill ersätta denna text med {tom_sträng}. Detta är mest en kosmetisk sak.
    RewriteCond %{REQUEST_URI} ^/(.+) [NC]
    RewriteRule ^(.*)$ {tom_sträng} [L]
    Låt Joomla sköta det där. Alternativ lägg det /joomla/.htaccess. Jag tror att denna regel sabbar för oss.

    I ditt nästa svar. Vänligen visa dina båda .htaccess filer.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  10. #10
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Tack för tipset om Regel 5. Jag provade ta bort den och har nu en helt fungerande site.

    Nu vet jag dock vad som fungerar, så utifrån det skall jag se om jag inte kan få regel 5 att fungera på något annat vis. Men eftersom det är mindre viktigt så får det bli en senare sak.

    Nedan är i alla fall min färdiga lösning för detta. Kan kanske hjälpa någon i framtiden. Tack för all din hjälp Tobias!

    -----------------------------------------------

    A) root .htaccess

    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /

    #Regel A1
    RewriteCond %{HTTP_HOST} !^(www\.incumbo\.com)?$ [NC]
    RewriteRule ^(.*)$ http://www.incumbo.com/$1 [R=301,L]

    #Regel A2
    RewriteRule ^(drupal|wordpress|dev|test|workingbackup) - [L]

    #Regel A3
    RewriteCond %{REQUEST_URI} !^joomla [NC]
    RewriteRule ^(.*)$ joomla/$1 [L]

    B) root/joomla .htaccess

    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /joomla

    #Regel B1
    RewriteCond %{REQUEST_URI} !^index\.php
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    RewriteRule ^(.*)$ index.php [L]

    joomal configuration.php
    $sef = '1';
    $sef_rewrite = '1';
    $live_site = 'http://www.incumbo.com';

  11. #11
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Jag ropade hej lite för tidigt. Allt såg bra ut men där är ett problem bara...
    Jag kan inte komma åt joomla/administrator
    Det innebär ju att jag inte kan logga in och hantera min sida i Joomla.

  12. #12
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Jag antar att du testar lite olika grejer precis nu. Jag tycker att jag får upp loginsidan.
    CTO på Happyr.com. Vi gör rekrytering effektivt

  13. #13
    Trudds avatar
    Trudd Trudd är inte uppkopplad Lär mig SEO
    Reg.datum
    apr 2012
    Inlägg
    10
    Ja vet inte om det är bästa sättet men jag lade helt enkelt till raden nedan i joomla/.htaccess filen.

    RewriteRule ^(administrator) - [L]

  14. #14
    Tobias Nyholms avatar
    Tobias Nyholm Tobias Nyholm är inte uppkopplad Moderator
    Reg.datum
    maj 2009
    Ort
    Stockholm
    Inlägg
    881
    Om det fungerar så är det ett tillräckligt bra sätt =)
    CTO på Happyr.com. Vi gör rekrytering effektivt

Ämnesinformation

Användare som tittar på det här ämnet

Det är för närvarande 2 användare som tittar på det här ämnet. (0 medlemmar och 2 gäster)

Liknande ämnen

  1. Meny i Flash / iFrame m.m för att dölja länkar ?
    Av Mathias GBM i forum Optimering
    Svar: 0
    Senaste inlägg: 2010-11-13, 19:29
  2. Dölja delar av texter?
    Av csthlm i forum Optimering
    Svar: 5
    Senaste inlägg: 2010-08-10, 13:05
  3. Svar: 8
    Senaste inlägg: 2009-07-15, 22:50
  4. Svar: 7
    Senaste inlägg: 2008-08-02, 20:01
  5. Dölja länkar i Flash-filer?
    Av Gustav i forum Länkbygge
    Svar: 5
    Senaste inlägg: 2007-03-16, 04:54