Länkar med apache och mod_rewrite

  • Niklas.
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #106651 av Niklas.
Hejsan,
Jag vill att www.server.net/aliasaddress ska vara adressen till www.server.net/olddirectory/oldfile.jsp . Hur skapar man sådant länkalias med mod_rewrite så att browserns adressfält visar alias url när katalogen inte är fysisk dvs följande funkar ej då innehållets adress kommer från mod_jk och en applikationsserver och inte en fysisk fil:
Code:
RewriteRule ^aliasaddress olddirectory/oldfile.jsp

Istället funkar följande men browserns adressfält visar olddirectory url:
Code:
RewriteRule ^aliasaddress http://www.server.net/olddirectory/oldfile.jsp

Hur kan jag åstadkomma ett länkalias till en url som stannar i browserns adressfält?
  • aivo
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #106652 av aivo
Svar från aivo i ämnet Länkar med apache och mod_rewrite
är väl kanske webbläsare specifikt?

är lite intresserad av samma grej för min sajt, att dölja url:n och bara visa domän namnet.
  • Niklas.
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #106654 av Niklas.
Svar från Niklas. i ämnet Länkar med apache och mod_rewrite
Det gick att fixa med mod_proxy och mod_rewrite i kombination. Man skriver ett [P] efter rewriteregeln och har igång mod_proxy så funkar det:
Code:
RewriteRule ^aliasaddress olddirectory/oldfile.jsp [P]

!
  • Niklas.
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #106760 av Niklas.
Svar från Niklas. i ämnet Länkar med apache och mod_rewrite
Rättelse:
Code:
RewriteRule ^/link1 http://www.domain1.tld/dir1/file1.jsp [P] RewriteRule link1/?$ /dir1/file1.jsp [L,PT]

Jag glömde ett .jsp i förra kommentaren.
  • aivo
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #106762 av aivo
Svar från aivo i ämnet Länkar med apache och mod_rewrite
detta är skrivet i jsp?
ja kör php för tillfället
  • Niklas.
  • Författare till inlägg
  • Besökare
  • Besökare
16 år 3 månader sedan #107092 av Niklas.
Svar från Niklas. i ämnet Länkar med apache och mod_rewrite
httpddirektiven är regexpar obereonde av serverspråk fast anropar en jsp-fil i mitt fall. Det funkar även och t.o.m. bättre för php då httpd och applikationsserver åt php men åt java måste man ha en separat applikationsserver typ glassfish, geronimo, tomcat, jboss. JSP körs från applikationsservern där du måste ha en särskild modul som heter mod_jk för att skicka requests mellan apache och applikationsservern. Jag sätter allt i virtual-host - direktiven t.ex. såhär:
Code:
<VirtualHost *> ServerName www.domain1.tld DirectoryIndex index.html DocumentRoot /var/www/html/domain1/tld Options +FollowSymLinks RewriteEngine On RewriteRule ^/view http://www.domain1.tld/appservercontext/view.jsp.jsp&#91;P&#93; </VirtualHost>
Grejen e att jag inte vill göra't med [P] utan med [L,PT,QSA] men då blir syntaxen lite annorlunda i regexpen typ så här:
Code:
RewriteRule view/?$ /appservercontext/view.jsp &#91;L,PT,QSA&#93;
Vad är skillnaden på view/?$ och ^/view med [P] resp. [L]?