.htaccess naar httpd.ini

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedemiddag all,

Voor 1 van mijn websites heb ik een verhuizing in de planning staan. De klant wil naar een Windows server ipv een Linux server waar het nu draait.
Ik heb al toegang tot de nieuwe server om het eea voor te bereiden en te testen.
Nu is het zo dat ik de .htaccess niet omgezet krijg naar een httpd.ini. Tenminste, ik krijg het werkend tot op 1 niveau, zeg http://blabla.nl/wiewatwaar/, alleen als ik nu naar een onderliggende pagina wil, dus zeg http://blabla.nl/wiewatwaar/neetoch/, werkt het niet

Dit is wat ik zover heb;
[ISAPI_Rewrite]
RewriteCond %HTTPS off
RewriteCond Host: (?!^www.url.nl)(.+)
RewriteRule /(.*) http\://www.url.nl/$2 [I,RP,L]

RewriteRule /([^/]+)/ /index.php?page=$1 [I,L]

iemand een idee wat ik verkeerd kan doen?

Thnx already!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

iemand een idee wat ik verkeerd kan doen?
Ja, je hebt vijf euro te weinig in m'n glazen bol gestoken:
Afbeeldingslocatie: http://codecaster.nl/got/glazen_bol.jpg

Post foutmeldingen en wat je hebt gedaan om te debuggen ;)

[ Voor 4% gewijzigd door CodeCaster op 10-09-2009 16:48 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • swtimmer
  • Registratie: Augustus 2006
  • Laatst online: 15-09 12:17

swtimmer

Ontrafelt het leven!

CodeCaster schreef op donderdag 10 september 2009 @ 16:46:
[...]

Ja, je hebt vijf euro te weinig in m'n glazen bol gestoken:
_/-\o_

Verwijderd

Topicstarter
CodeCaster schreef op donderdag 10 september 2009 @ 16:46:
[...]

Ja, je hebt vijf euro te weinig in m'n glazen bol gestoken:
[afbeelding]

Post foutmeldingen en wat je hebt gedaan om te debuggen ;)
Ik zie geen gleuf in je glazen bol...
het gaat erom dat ik de volgende .htacces regels compatible kan maken voor een httpd.ini dus een win server
<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /
RewriteBase /
#
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>

hoe debug ik een httpd.ini?

gr

[ Voor 35% gewijzigd door Verwijderd op 10-09-2009 17:03 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Wat is de exacte foutmelding? Wat staat in de logs?

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Je RewriteRules verschillen. Mijn vermoeden is al dat je het niet zelf gemaakt hebt hierdoor, maar goed.
In je "httpd.ini" match je alles van het eerste segment, tot hij de eerstvolgende / tegen komt. Oftewel hij matched alles tussen de eerste, en tweede / - wat "wiewatwaar" is in jou voorbeeld, en niet meer. Jou originele RewriteRule matched echter wel gewoon alles, en als hij door de RewriteCond's heen komt, rewrite hij het helemaal naar je index.php.

Kijk daar dus maar eens naar ;)

Je originele:
code:
1
2
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Match $1: /wiewatwaar/neetoch/

Je httpd.ini:
code:
1
2
RewriteRule /([^/]+)/ /index.php?page=$1 [I,L]
Match $1: wiewatwaar

[ Voor 6% gewijzigd door semicolon op 10-09-2009 20:45 . Reden: beter voorbeeld. ]

:D/-<


  • Cartman!
  • Registratie: April 2000
  • Niet online
Naast je probleem niemand die opmerkt dat het apart is dat je klant van server wil wisselen terwijl de site nu al goed(?) draait? Ik zou die klant adviseren lekker op zn huidige hosting te blijven en in het geval van een snellere server hetzelfde platform aan te houden. Ik heb zelf vrij slechte ervaringen met PHP hosting op Windows/IIS. Laat de host dan op z'n minst apache regelen :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Max v W schreef op donderdag 10 september 2009 @ 20:42:
Je RewriteRules verschillen. Mijn vermoeden is al dat je het niet zelf gemaakt hebt hierdoor, maar goed.
In je "httpd.ini" match je alles van het eerste segment, tot hij de eerstvolgende / tegen komt. Oftewel hij matched alles tussen de eerste, en tweede / - wat "wiewatwaar" is in jou voorbeeld, en niet meer. Jou originele RewriteRule matched echter wel gewoon alles, en als hij door de RewriteCond's heen komt, rewrite hij het helemaal naar je index.php.

Kijk daar dus maar eens naar ;)

Je originele:
code:
1
2
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
Match $1: /wiewatwaar/neetoch/

Je httpd.ini:
code:
1
2
RewriteRule /([^/]+)/ /index.php?page=$1 [I,L]
Match $1: wiewatwaar
Max, top man!
Ik wilde vanmorgen net een regel in de httpd zetten die een log wegschreef om te debuggen.
De criteria heb ik aangepast naar (.+) EN HET WERKT :+
De .htaccess heb ik idd niet zelf geschreven. Deze is onderdeel van een OS cms.

@cartman! : De klant wil ook asp services aan gaan bieden, vandaar. Mijn advies was ook om op de huidige locatie te blijven.

Top mensen, erg bedankt!
Pagina: 1