[.htaccess] 404 + redirect

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Ik heb op mijn site een aantal pagina's waarvan ik niet wil dat iemand (wie/wat dan ook) ze ziet. Ze worden helaas door Drupal standaard aangemaakt en in combinatie met andere pagina's krijg ik zo duplicate content. Om niet alleen zoekmachines, maar ook mensen tegen te houden wil ik graag zowel een 404 status versturen als de bezoeker redirecten naar een 404 pagina. Als je zoekt dan komt je eigenlijk alleen dingen tegen over ErrorDocuments, maar dat werkt niet, want het gaat er niet om of de bestanden bestaan (Doen ze niet, het zijn dynamische pagina's)

Ik had zelf al bedacht dat ik de betreffende URLs kon doorsturen naar een eigen 404.php, wat een 404 header geeft en de Drupal 404 pagina laden. Het lijkt me alleen niet zo'n elegante oplossing, vandaar mijn vraag of dit puur met .htaccess te doen is.

  • rickmans
  • Registratie: Juli 2001
  • Niet online

rickmans

twittert

Je kan het prima met alleen .htaccess doen, of je het op die manier wil doen is uiteraard een keuze ;).

Hier een artikel over hetzelfde drupal 'probleem': http://netters.nl/duplicate-content-drupal

Don't mind Rick


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
En hoe zou ik het dan met .htaccess moeten doen?

  • rickmans
  • Registratie: Juli 2001
  • Niet online

rickmans

twittert

bijvoorbeeld door:
code:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteRule ^feed/?([_0-9a-z-]+)?/?$ /404.php [R,L]
</IfModule>


en dan kan je evt in je 404.php een header() meegeven voor de 404 en de drupal 404 page includen.

Don't mind Rick


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Dat is nog niet 100% met .htaccess. Ik vroeg in de TS of dat mogelijk was en jij zei dat dat inderdaad kon. Vervolgens geef je de oplossing die ik al had aangegeven gevonden te hebben, maar die toch niet 100% van .htaccess gebruik maakt...

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Mei schreef op zondag 01 juli 2007 @ 18:45:
Dat is nog niet 100% met .htaccess. Ik vroeg in de TS of dat mogelijk was en jij zei dat dat inderdaad kon. Vervolgens geef je de oplossing die ik al had aangegeven gevonden te hebben, maar die toch niet 100% van .htaccess gebruik maakt...
Waarom wil je het met een bepaalde techniek oplossen terwijl het handiger is om het anders te doen?
offtopic:
overigens moet je een 403 sturen en geen 404 als je wilt dat mensen geen toegang hebben

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Er wordt volgens mij echt niet gelezen hier.

1) Die content wordt door Drupal aangemaakt. Ik wil niet dat iets/iemand toegang tot die content heeft. Gewoon doen alsof het niet bestaat door een 404 te sturen. Het is niet zo dat slechts enkelen toegang hebben, anders had ik wel een 403 willen gebruiken.
2) rickmans gaf aan dat het 100% met .htaccess kon en geeft vervolgens alleen als antwoord wat ik zelf al in de TS gepost had, maar ik zie in zijn posts nergens de 100% .htaccess oplossing. Als het niet efficiënt is (wat het volgens mij wel is) om het alleen met .htaccess op te lossen, leg dat dan uit in plaats van mij ervan te beschuldigen het niet op de handigste manier te doen.

Verwijderd

Maak gewoon een apart PHP scriptje dat die 404 header stuurt en de standaard 404 pagina laat zien, en zeik verder niet.

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Verwijderd schreef op zondag 01 juli 2007 @ 19:11:
Maak gewoon een apart PHP scriptje dat die 404 header stuurt en de standaard 404 pagina laat zien, en zeik verder niet.
Zou je alsjeblieft gewoon even uit dit topic willen blijven, als je niet fatsoenlijk op mijn vraag kan reageren? Ik wil niet weten hoe ik dit zou kunnen doen, ik wil weten hoe ik dit op de beste manier kan doen. Zegmaar net zoiets als tables versus CSS.

  • Nijn
  • Registratie: Januari 2005
  • Laatst online: 30-11 19:05
Misschien is het handig om ook even naar je eigen reacties te kijken. Ik krijg er namelijk een nogal nare nasmaak van.

Hier op GoT is het doodnormaal dat je met mensen meedenkt. De beste/simpelste oplossing is simpelweg wat al eerder genoemd is en dat proberen mensen je dus ook te vertellen. Als je nou even uitlegt waarom die niet voldoet, dan krijg je misschien betere antwoorden. (En niet "omdat ik zei dat het alleen in .htaccess moest").

Als je niet tevreden bent met de antwoorden hier, dan kun je natuurlijk altijd nog zelf de handleiding lezen. Hier heb je alvast een linkje om mee te beginnen: http://httpd.apache.org/docs/1.3/mod/mod_headers.html

Of je kijkt of ze je op een van die andere sites verder kunnen helpen. Nederdev bijvoorbeeld. Duurt alleen wel lang tot je een antwoord krijgt omdat niemand het de moeite waard vindt om op zo'n site te komen.

[ Voor 54% gewijzigd door Nijn op 01-07-2007 19:47 ]


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Hmm, je hebt ook wel gelijk. In ieder geval excuses voor de vervelende ondertoon in mijn berichten. Ik ben nogal moe en het komt dan een beetje verkeerd over als mensen dingen gaan posten die ik zelf al gezegd heb enzo...

De reden dat ik dit graag met .htaccess wil afhandelen is dat dit mij efficiënter lijkt. Waarom zou je dit nog afhandelen met een extra PHP file als het ook in .htaccess kan? Het punt is dat ik nergens heb kunnen vinden of dit mogelijk is, vandaar dat ik dit topic geopend heb.

Ik heb die Apache docs trouwens even doorgenomen, maar ik snap er niks van. Echt helemaal niks. Ik zie niks over URLs afvangen, statuscodes doorgeven enz. Nou is mijn kennis van .htaccess praktisch nihil, dus dat kan dit verklaren. Weet dus helaas ook niet waarop ik verder moet zoeken.

edit:
Heb wat gevonden: Redirect 301 /node http://localhost/
Het enige probleem is nu dat Drupal er automatisch http://localhost/?q=node van maakt. Eens even zien waar dat door komt dan.

[ Voor 11% gewijzigd door Mei op 01-07-2007 20:30 ]


  • rickmans
  • Registratie: Juli 2001
  • Niet online

rickmans

twittert

Mei schreef op zondag 01 juli 2007 @ 20:01:


Ik heb die Apache docs trouwens even doorgenomen, maar ik snap er niks van. Echt helemaal niks. Ik zie niks over URLs afvangen, statuscodes doorgeven enz. Nou is mijn kennis van .htaccess praktisch nihil, dus dat kan dit verklaren. Weet dus helaas ook niet waarop ik verder moet zoeken.
wellicht dat deze tutorial iets makkelijker is: http://www.javascriptkit.com/howto/htaccess.shtml

Don't mind Rick


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Hey, bedankt :) Helaas staat het daar op dezelfde manier als ik hierboven gepost heb. Ik ben net toch maar eens aan het zoeken gegaan naar waarom Drupal die redirect zo raar afhandelt. Ipv naar / te gaan, gaat hij naar /?q=node. Ik vond op Drupal.be iemand met hetzelfde probleem en die gebruikte de volgende regel om het toch werkend te krijgen: RewriteRule node http://localhost/ [R=301,L].

Dit redirect op de goede manier. Ik ben daarna via de FF Web Developer Toolbar (Information>View Response Headers) eens gaan kijken of de header ook goed verzonden wordt, maar dan zie ik alleen '200 OK' als header.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Mei schreef op zondag 01 juli 2007 @ 19:08:
1) Die content wordt door Drupal aangemaakt. Ik wil niet dat iets/iemand toegang tot die content heeft. Gewoon doen alsof het niet bestaat door een 404 te sturen. Het is niet zo dat slechts enkelen toegang hebben, anders had ik wel een 403 willen gebruiken.
Echter een 403 kan apache heel erg makkelijk maken zonder extreem veel moeite met redirecten omdat je perse een 404 wilt ;)

Je kan namelijk erg eenvoudig gewoon de F-flag meegeven en je krijgt direct een 403:
'forbidden|F' (force URL to be forbidden)
This forces the current URL to be forbidden - it immediately sends back a HTTP response of 403 (FORBIDDEN). Use this flag in conjunction with appropriate RewriteConds to conditionally block some URLs.
Anders zou je kunnen redirecten naar een file die niet bestaat, maar dat is minder netjes vind ik en niet failsafe.

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Dus het klopt dat een 404 standaard niet zo makkelijk te geven is? Ik heb nu dus met die RewriteRule alle requests naar /node/ doorgelinkt naar de frontpage. Zit hier misschien nog een SEO-nadeel aan?

@Erkens: Nog bedankt voor die link! Ik wil binnenkort aan de slag met flink wat RewriteUrls, omdat de URLs van een site veranderd gaan worden en dus de oude stijl naar de nieuwe stijl doorgelinkt moet worden. Scheelt me weer wat zoeken naar een tut die uitleg geeft over die patterns :)

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
je kan je 403 ook met je .htaccess redirecten naar een 404-foutmelding
ik dacht als volgt:
code:
1
errordocument 403 404.html

en dan in die 404.html de standaard "niet-gevonden" tekst inpleuren.

heb je voor een bezoeker alsnog een 404-melding
(een gewone surfer kijkt zelden naar het html-verkeer enkel naar de tekst die in zijn browser verschijnt),
een search-engine weet dat ie moet wegblijven (krijgt 403-status door)

mogelijk kan je het zo wat ombuigen naar wat je wenst ?

(hiermee kan je eventueel ook redirects gaan forceren, maar .htaccess is steeds een try-and-error uitzoek werk, dus zorg voor een test-copy van je site en experimenteer er op los.
Zorg er ook voor dat je weet wat je .htaccess-regels doen, voordat je lange lussen maakt)

[ Voor 21% gewijzigd door soulrider op 02-07-2007 09:54 ]


  • Nijn
  • Registratie: Januari 2005
  • Laatst online: 30-11 19:05
1. Een soortgelijke oplossing staat al in de TS, dit wilt hij dus niet
2. De gemiddelde consument kijkt niet naar de statuscodes, maar zoekmachines wel!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
Nijn schreef op maandag 02 juli 2007 @ 14:59:

2. De gemiddelde consument kijkt niet naar de statuscodes, maar zoekmachines wel!
en wat doet jouw denken dat de 404 en 403 headers niet meegestuurd worden?

This message was sent on 100% recyclable electrons.


  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
Nijn schreef op maandag 02 juli 2007 @ 14:59:
1. Een soortgelijke oplossing staat al in de TS, dit wilt hij dus niet
2. De gemiddelde consument kijkt niet naar de statuscodes, maar zoekmachines wel!
1. mijn tekst spreekt niet over een 404 maar is een aanvulling van Erkens post boven mij
die met .htaccess 403-statussen gaat forceren.
(waar dus een 403-header wordt gestuurd)
en die 403-header laat ik een 404-tekst doorsturen (met nog steeds die 403-header)

2. euhm dat zeg ik toch ook in mijn tekst: mensen zien die tekst, niet de headers,
voor SE's is het mogelijk juist goed dat ze die 403-header krijgen, blijven ze ook weg van die links...
(maar weten ze nog steeds dat ze er zijn)

zowiezo kan je in .htaccess geen aangepaste foutmeldingspagina doorsturen,
enkel redirecten naar je aangepaste errordoc.

je kan wel een status laten melden, maar dan moeten je bezoekers het doen met de standaard melding van hun browser....
TS moet maar weten wat ie wilt:
- standaard browser meldingen
- zijn eigen foutmeldingspagina met ev. links naar home, search, ...

[ Voor 7% gewijzigd door soulrider op 02-07-2007 16:11 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

soulrider schreef op maandag 02 juli 2007 @ 16:08:
2. euhm dat zeg ik toch ook in mijn tekst: mensen zien die tekst, niet de headers,
voor SE's is het mogelijk juist goed dat ze die 403-header krijgen, blijven ze ook weg van die links...
(maar weten ze nog steeds dat ze er zijn)
Je doet het dan wel fout, door 403 te serveren terwijl je zegt dat het 404 is ;)
Daarnaast is het niet zeker dat je ook daadwerkelijk je eigen pagina krijgt, een browser (of proxy server) mag nav de status code een eigen melding geven. (iets wat IE bijvoorbeeld doet bij kleine errorpages)

  • Nijn
  • Registratie: Januari 2005
  • Laatst online: 30-11 19:05
De statuscode die je eigenlijk moet versturen is 410. (Resource Gone). Dan maak je ook voor een Search Engine het duidelijk dat ze daar niet meer hoeven te kijken. (Dat doen ze met 404 vaak nog wel, omdat 404 ook een tijdelijk probleem kan zijn).

Dan kan je in .htaccess ook met het "redirect gone" commando werken. (Zie google).

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
SEOtechnisch gezien lijkt 410 me dus beter. Wat jullie?

Het gewone redirect commando werkt niet he, want dan krijg ik /?q=node voorgeschoteld ipv /. Drupal bugje denk ik. Met een RewriteURL leek het opgelost te zijn, maar dan redirect hij niet alleen /node/, maar bijvoorbeeld ook /node/add/ dat wél toegankelijk moet zijn.

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
Erkens schreef op maandag 02 juli 2007 @ 19:04:
[...]

Je doet het dan wel fout, door 403 te serveren terwijl je zegt dat het 404 is ;)
Daarnaast is het niet zeker dat je ook daadwerkelijk je eigen pagina krijgt, een browser (of proxy server) mag nav de status code een eigen melding geven. (iets wat IE bijvoorbeeld doet bij kleine errorpages)
offtopic:
als header kan je perfect een 403 doorsturen en voor de leken een tekst erbij zetten dat de pagina die ze zoeken er niet is .... dat is de kracht van die errordocument-regel.
(wat een 404 - echt weg - of ik dacht 302 - verplaatst naar - zou kunnen zijn wil je juist zijn)
ik kan je net zo goed een 403-header sturen en een redirect naar disney.nl.
als je browser zijn eigen "makkelijk begrijpbare of eigen foutmeldingen" niet forceert ga je netjes mijn redirect zien en als persoon nog niet weten waarom je plots die site ziet.

als ik er "errordocument 403 403.html" van maak en in die 403.html zet "sorry de pagina die ge zoekt is er niet meer" of de lap tekst die anders uitgetufd wordt bij een 404 erin copy-paste, dan snap je wellicht iets beter wat ik hierboven wil zeggen ;)

hoe dan ook het is een 403 - forbidden of een 410 - resource gone geen 404 - (tijdelijk) niet beschikbaar. maar de tekst die je een bezoeker voorschoteld kan elke zever zijn dat je maar wilt, als nix tss komt gaat een bezoeker dat ook zien


hoe dan ook, je kan het nooit 100% via .htaccess doen
de redirect en de reden waarom wel
zelfs ev. welke header er moet meegegooid worden

maar de pagina waarheen ie gestuurd wordt moet altijd ergens op het internet staan en kan niet door die .htaccess gegnereerd worden. (tenzij je vertrouwd op debrowser meldingen, maar wederom ook dat is niet vanuit de .htaccess file zelve en niet echt user-friendly)

@ts:
anders even enkele voorbeeld links geven die je niet wilt toestaan,
en waarheen ze wel moeten verwijzen ?
(en hoe je geprobeerd hebt dit te .htaccess'en ?)
want nu is het eigenlijk veel theoretisch denkwerk)
mogelijk kan je de dubbele links met een 302 laten verwijzen naar de gewenste bron/link ?

en dan wat code -hacking ter voorkoming dat je cms die dubbele links zelf nog gaat genereren...
(maw: voorkomen dat in de gegenereerde html nog links verschijnen naar die dubbele/ongewenste pagina's en alleen nog maar links naar de gewenste pagina's verschijnen op je site)
(zie de hierboven ergens gegeven link)

(maw: zorg ervoor dat een nieuwe spider die ongewneste links nog kan volgen,
en zorg met een 302 (permanent moved (?) ) dat de spiders die die links al kennen op de juiste pagina terecht komen en dieoude link vergeten.

[ Voor 18% gewijzigd door soulrider op 03-07-2007 00:53 ]


  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 23:16
soulrider schreef op dinsdag 03 juli 2007 @ 00:43:
offtopic:
als header kan je perfect een 403 doorsturen en voor de leken een tekst erbij zetten dat de pagina die ze zoeken er niet is .... dat is de kracht van die errordocument-regel.
(wat een 404 - echt weg - of ik dacht 302 - verplaatst naar - zou kunnen zijn wil je juist zijn)
ik kan je net zo goed een 403-header sturen en een redirect naar disney.nl.
als je browser zijn eigen "makkelijk begrijpbare of eigen foutmeldingen" niet forceert ga je netjes mijn redirect zien en als persoon nog niet weten waarom je plots die site ziet.
offtopic:
Je kunt ook 500-Internal server error sturen, of 402-Payment required, of toch 503-service unavailable... De kracht van HTTP-status codes is juist dat er redelijk efficient doorgegeven kan worden wat er op de server aan de hand is, op een manier die ook door software te interpreteren valt. Ga je daar mee rommelen dan begeef je je op glad ijs omdat er geen enkel programma een zinvolle implementatie heeft van "RFC-99273 Hypertext Transfer Protocol according to soulrider".


Qua het probleem van de TS snap ik zijn probleem eigenlijk niet zo goed. Als je de "niet bestaande urls" kunt vangen om ze naar een php script te leiden kun je toch ook naar een niet bestaand bestand rewriten? Dan krijg je gewoon een 404 van apache, en die zijn voor zover ik weet prima "custom" te maken (iets met ErrorDocument 404).

Regeren is vooruitschuiven


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
soulrider schreef op dinsdag 03 juli 2007 @ 00:43:
@ts:
anders even enkele voorbeeld links geven die je niet wilt toestaan,
en waarheen ze wel moeten verwijzen ?
(en hoe je geprobeerd hebt dit te .htaccess'en ?)
want nu is het eigenlijk veel theoretisch denkwerk)
mogelijk kan je de dubbele links met een 302 laten verwijzen naar de gewenste bron/link ?
Ik wil momenteel in ieder geval /node blokkeren vanwege duplicate content (zelfde als op de frontpage). /node/ moet dus doorgestuurd worden naar /.
en dan wat code -hacking ter voorkoming dat je cms die dubbele links zelf nog gaat genereren...
(maw: voorkomen dat in de gegenereerde html nog links verschijnen naar die dubbele/ongewenste pagina's en alleen nog maar links naar de gewenste pagina's verschijnen op je site)
(zie de hierboven ergens gegeven link)
Ik ga niet in de Drupal Core hacken. Ten eerste ben ik weet niet hoe lang bezig met uitzoeken en ten tweede kan ik overnieuw beginnen als ik Drupal update.
T-MOB schreef op dinsdag 03 juli 2007 @ 01:56:
Qua het probleem van de TS snap ik zijn probleem eigenlijk niet zo goed. Als je de "niet bestaande urls" kunt vangen om ze naar een php script te leiden kun je toch ook naar een niet bestaand bestand rewriten? Dan krijg je gewoon een 404 van apache, en die zijn voor zover ik weet prima "custom" te maken (iets met ErrorDocument 404).
Heb ik ook aan gedacht, maar aangezien Drupal alle 404's afvangt en in een log wegschrijft is dat niet te doen. Ik krijg dan het hele log vol met 404's die nergens op slaan. De 'echte' 404's zijn er dan wat lastiger uit te pikken.

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
het vervelende is dat hetgene wat je wilt niet de gangbare weg van drupal is,
dus oftewel ga je een heleboel moet gaan hacken in .htaccess en met eventuele redirects naar ...
(wat je aangaf dat je dat zelf niet zo graag doet - dat "wijs door naar een php en laat die het afhandelen")

het andere is ook dat drupal dan zelf nog steeds /node/.. links gaat genereren en tonen in de pagina's, iets wat je niet wilt want elke link die zo beschikbaar is, en aanklikbaar is door een gebruiker of spider, die geef je nadien een 404-status
(dus in ogen van een SE ben je dan plots een heleboel pagina's kwijt, heb je een boel niet beschikbare links, en daal je ook in je rangschikking).

als je /node/blabla naar /blabla (<- dit is trouwens een voorbeeld link zoals ik bedoel ;) )
wilt sturen dan kan dit toch met een rewriterule te doen ?
code:
1
2
3
4
RewriteEngine on
RewriteRule /node/$ /$1
RewriteRule node/$ $1
RewriteRule /node/(.*) /


(1 van de eerste 2 werkt met zekerheid - wil je hem naar de startpagina wijzen gebruik dan de 3de)

Maar zoals je zelf al aangaf in "first post" de header kan je wel via .htaccess fixen,
de inhoud van de pagina die de gebruiker te zien krijgt niet
(je kan hem wel naar een pagina verwijzen mbv errordocument ....)


of je moet links gaan rewriten zodat het duplicaat terug gewezen wordt naar zijn originele link.
Voorkomen dat die ongewenste links er zijn en dus gevolgd kunnen worden is een zeer belangrijke en zekers niet te vergeten stap.
De mensen die dan zo een ongewenste link in hun bookmarks hebben zitten, of SE's die hem nog weten, die ga je afvangen met zo een .htaccess gescript. (anders gaat je .htaccess veel meoten gaan opvangen telkens er een spider passeert, of een "klik-maar-raak"-bezoeker.

(waar je nog geen voorbeeld van gegeven hebt van zo'n ongewenst duplicaat en zijn originele, wel gewenste, link....
kijk eventueel toch eens naar die link die hierboven gegeven is, staat wel wat nuttige info op)


ik vermoed trouwens dat je drupal ook .htaccess gebruikt voor rewriting van enkele links...
zoek even uit of daar nix in de weg zit (diegene het hoogste bij root-folder heeft het laatste woord)

[ Voor 4% gewijzigd door soulrider op 03-07-2007 10:21 ]


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
soulrider schreef op dinsdag 03 juli 2007 @ 10:02:
het vervelende is dat hetgene wat je wilt niet de gangbare weg van drupal is,
dus oftewel ga je een heleboel moet gaan hacken in .htaccess en met eventuele redirects naar ...
(wat je aangaf dat je dat zelf niet zo graag doet - dat "wijs door naar een php en laat die het afhandelen")
Wat is dan volgens jou wel de gangbare weg van Drupal?
het andere is ook dat drupal dan zelf nog steeds /node/.. links gaat genereren en tonen in de pagina's, iets wat je niet wilt want elke link die zo beschikbaar is, en aanklikbaar is door een gebruiker of spider, die geef je nadien een 404-status
(dus in ogen van een SE ben je dan plots een heleboel pagina's kwijt, heb je een boel niet beschikbare links, en daal je ook in je rangschikking).
Alleen /node/ moet naar / geredirect worden, /node/blapie/ moet allemaal wél blijven staan, omdat dat wel allemaal pagina's met unieke content zijn of pagina's om content toe te voegen.
als je /node/blabla naar /blabla (<- dit is trouwens een voorbeeld link zoals ik bedoel ;) )
wilt sturen dan kan dit toch met een rewriterule te doen ?
code:
1
2
3
4
RewriteEngine on
RewriteRule /node/$ /$1
RewriteRule node/$ $1
RewriteRule /node/(.*) /
Gaat helaas niet lukken, omdat je hierbij dus ook subdirs van /node/ redirect, wat niet zo handig is.
of je moet links gaan rewriten zodat het duplicaat terug gewezen wordt naar zijn originele link.
Voorkomen dat die ongewenste links er zijn en dus gevolgd kunnen worden is een zeer belangrijke en zekers niet te vergeten stap.
De mensen die dan zo een ongewenste link in hun bookmarks hebben zitten, of SE's die hem nog weten, die ga je afvangen met zo een .htaccess gescript. (anders gaat je .htaccess veel meoten gaan opvangen telkens er een spider passeert, of een "klik-maar-raak"-bezoeker.

(waar je nog geen voorbeeld van gegeven hebt van zo'n ongewenst duplicaat en zijn originele, wel gewenste, link....
kijk eventueel toch eens naar die link die hierboven gegeven is, staat wel wat nuttige info op)
Hier raak je me even kwijt. Wat bedoel je precies met een duplicaat dat teruggewezen wordt? Ik had trouwens al besloten en gemeld dat ik nu voor de redirect ging ipv de 404. Ik denk niet dat mensen /node/ in hun bookmarks hebben staan, maar toch.

Wat bedoel je met "waar je nog geen voorbeeld van gegeven hebt van zo'n ongewenst duplicaat en zijn originele, wel gewenste, link.... "? Ik heb al een aantal keren aangegeven dat de pagina /node/ dezelfde content als de frontpage (/ dus) bevat en dat /node/ dus geredirect moet worden naar de fp. Momenteel is het probleem alleen hoe ik het voor elkaar krijg alleen /node/ te redirecten en niet /node/blapie/ en /note/nogwat/ ook bijvoorbeeld.

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
dat laatste bedoelde ik met die zin. (lijkt nu even op slowchat) ;) :+
daar is iets meer uit te maken dan "/node/ moet naar / verwijzen".

(wat mag wel, wat mag niet - welke link zorgt voor duplicate inhoud, en welk niet,
nu weten we dat 'subdirs' wel gewenst zijn, enkel '/node/' niet)

met die "niet de gangbare weg van drupal" verwees ik naar je voorbeelden waar je drupal installatie er plots /?q=node (als ik het juist begreep en herinnner) van maakte enzo...

hoe dan ook een cms deels gaan ombuigen mbv een .htaccess gaat lastig worden.
(zekers als ie mogelijk zelf ook een .htaccess gaat gebruiken voor SE-friendly url's. )

(en 't gaat over de site die je linkt in je signature mag ik vermoeden na een kleine test)


als ik in willekeurige links zoals /artikels/cms/blabla de eerste 'folder' vervang door /node/ met de rest eraan (dus /node/cms/blabla) dan kom ik op je techblog uit - zonder die titel.
dus schijnbaar zit er al een regeltje in de weg ....
dat /node/$ en /node/(.*)/$ doorwijst naar /techblog/ (en niet /techblog/$1) mbv een rewrite

mogelijk moet je een hoop redirect regels gaan inrammen.
of met rewritecondition gaan spelen
(maar dan blijft die /node/ regel nog steeds als adres inrambaar en zichtbaar)

[ Voor 32% gewijzigd door soulrider op 03-07-2007 11:39 ]


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
soulrider schreef op dinsdag 03 juli 2007 @ 10:38:
hoe dan ook een cms deels gaan ombuigen mbv een .htaccess gaat lastig worden.
(zekers als ie mogelijk zelf ook een .htaccess gaat gebruiken voor SE-friendly url's. )

(en 't gaat over de site die je linkt in je signature mag ik vermoeden na een kleine test)
Drupal maakt bij het aanzetten van Clean URLs één keer een .htaccess aan en wijzigt deze daarna niet meer. Je kan dus gemakkelijk je eigen gegevens erin zetten. Die komen dan gewoon boven de regels van Drupal te staan.

Het is inderdaad die site ja. Je ziet dat op /node/ en op / dezelfde content staat. Nogal raar dat dat standaard gedaan wordt, maar het is niet anders.
Pagina: 1