Avatar billede giang Nybegynder
09. januar 2007 - 13:25 Der er 12 kommentarer

Apache, mod_rewrite og htaccess

Hej Eksperter,

Jeg bruger apaches mod_rewrite til rewrite af mine URLs. Jeg skriver f.eks. følgende i min .htaccess fil:

ForceType application/x-httpd-php
RewriteEngine on
RewriteRule ^([0-9]+)/$ index.php?side_id=$1 [qsappend]

I forbindelse med skifte til en ny og opgraderet server, har jeg imidlertid et problem. Skiftet er ikke gennemført endnu, men jeg har mulighed for at se mine filer på den nye server ved at gå ind på følgende: http://minside.minhost.dk (dette skulle så svare til www.minside.dk på den nye server.

Mine RewriteRules ser dog ikke ud til at virke. Er det fordi det ligger på et subdomæne hos min host, og først vil virke når det igen ligger på www.minside.dk?
Eller er det fordi den nye server er opgraderet fra apache 1.3 til version 2.2.3? Er denne version kompatibel med mod_rewrite?

Håber I kan hjælpe.
Avatar billede pidgeot Nybegynder
09. januar 2007 - 13:31 #1
Jeg vil tro det er din host der har deaktiveret .htaccess, da der ikke er noget af det der der burde fejle, uanset Apache-version (og hvis det endelig gjorde, burde du få en Internal Server Error når du gik ind).
Avatar billede giang Nybegynder
09. januar 2007 - 13:49 #2
Jeg tror ikke .htaccess er deaktiveret. Hvis jeg f.eks. skriver følgende i min htaccess:

redirect 301 /underside/ http://www.minandenside.dk/

så virker denne kommande fint nok.
Avatar billede fixxxer Nybegynder
09. januar 2007 - 16:13 #3
.htaccess kan vist tillades på forskellige måder. Dvs måske tillader din host godt at du bruger redirects i din htaccess men ikke mod_rewrite - selvom det ganske vist ikke giver spor mening hvorfor din host dog skulle have sådan et setup.
Avatar billede htm Nybegynder
09. januar 2007 - 18:56 #4
Man har mulighed for at sætte forskellige rettigheder på .htaccess, så man kan begrænse hvad der kan afvikles via .htaccess.

Men for redirect, ForceType og RewriteEngine tillader man det med samme rettighed, så derfor hvis redirect virker bør de andre også virke.

Det har intet at sige at den ligger på subdomæne, med mindre du har noget tjek for hosten i din mod_rewrite :-)

Men prøv og tjek en phpinfo og så kig under Apache og loaded modules. Her skal du gerne finde mod_rewrite i listen. Hvis det ikke er der, så er mod_rewrite ikke installeret på serveren.

Det burder dog komme med en internal server error :-)
Avatar billede showsource Seniormester
09. januar 2007 - 20:00 #5
umiddelbart, ville jeg aldrig selv bare bruge en linie a'la'

ForceType application/x-httpd-php

Hvad er det du vil med den?
Avatar billede giang Nybegynder
24. januar 2007 - 14:42 #6
fixxxer>> Jeg tvivler på at min host har opsat serveren således, at det kun er nogle ting der virker i htaccess. Jeg foretager skiftet i samråd med min host, så de ville nok have sagt det, hvis de havde lukket for mod_rewrite. Problemet er at de åbenbart ikke ved nok om mod_rewrite på apache 2 til at løse problemet.

htm>> Jeg har lagt en phpinfo(); ud på http://www.hephey.se/phpinfo.php
mod_rewrite ser da ud til at være loaded ikke?

showsource>> Jeg ved ikke helt hvad ForceType application/x-httpd-php gør godt for, men på min gamle server var det tilsyneladende nødvendigt for at få det til at virke.

Har I brug for yderligere oplysninger for at kunne hjælpe mig?
Avatar billede fixxxer Nybegynder
24. januar 2007 - 14:48 #7
På et webhotel hos Scannet, vedligeholder jeg en side, og for en phpinfo() siger den fx at mod_auth_mysql er loaded - men jeg kan ikke bruge det fordi Scannet bruger det internt, og har derfor lukket det for deres kunders webhoteller.

Jeg tror du bør tage en snak med din host.
Af ren nysgerighed, hvem er din host?
Avatar billede giang Nybegynder
24. januar 2007 - 14:49 #8
Efter hvad jeg kan læse mig til andre steder på nettet, er apache 2.2.3 kompatibel med mod_rewrite, men der er foretaget store ændringer i dette modul, så jeg skal altså have ændret mine rewriterules for at de virker. Men hvad skal de ændres til?
Avatar billede giang Nybegynder
24. januar 2007 - 15:01 #9
Min host er Acomma (eller WWI). Jeg har jo sådan set allerede snakket med min host. Problemet er at de ikke ved noget om mod_rewrite.
Avatar billede fixxxer Nybegynder
24. januar 2007 - 15:03 #10
Jeg bruger ikke selv Apache 2.2 så det kan jeg ikke svare på.

Umiddelbart ville jeg straks kigge mig om efter en anden host, hvis de ikke aner det fjerneste om det produkt de sælger!
Avatar billede fixxxer Nybegynder
24. januar 2007 - 15:05 #11
Men mon ikke dokumentationen er et godt sted at starte?

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
Avatar billede giang Nybegynder
24. januar 2007 - 15:13 #12
Jeg har prøvet at kigge i dokumentationen, men kan ikke rigtig gennemskue det (jeg er hverken ekspert i Apache eller htaccess).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester