Kom ihåg mig?
Home Menu

Menu


Apache rewrite so ignorerar allt efter /whatever/

Ämnesverktyg Visningsalternativ
Oläst 2013-04-09, 21:49 #1
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Standard Apache rewrite so ignorerar allt efter /whatever/

Tjenare!

Finns det någon möjlighet att få Apache att endast läsa "ursprungs"filen i en sökväg, tex om sökvägen är /profile/jespera går det då få Apache att bara läsa /profile/ som pekas som brukligt mot /profile.php och ignorera "jespera" biten i sökvägen?

I Nginx räcker det med:

Kod:
location / {
    try_files $uri $uri/ index.php;
    rewrite ^(.+)/ $1.php;
}
Men Apache envisas med att köra "jespera" snutten också, vilket resulterar i att den inte ens hittar /profile.php, och i detta fallet skall den INTE pekas mot en query string.

(Nej, detta är av någon anledning inte uppbyggt som ett traditionellt MVC och utgår INTE alltid från /index.php)

Någon som har något förslag?
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-11, 09:35 #2
bredbandsbloggen.se bredbandsbloggen.se är inte uppkopplad
Medlem
 
Reg.datum: May 2011
Inlägg: 89
bredbandsbloggen.se bredbandsbloggen.se är inte uppkopplad
Medlem
 
Reg.datum: May 2011
Inlägg: 89
Citat:
Ursprungligen postat av JesperA Visa inlägg
Tjenare!

Finns det någon möjlighet att få Apache att endast läsa "ursprungs"filen i en sökväg, tex om sökvägen är /profile/jespera går det då få Apache att bara läsa /profile/ som pekas som brukligt mot /profile.php och ignorera "jespera" biten i sökvägen?

I Nginx räcker det med:

Kod:
location / {
    try_files $uri $uri/ index.php;
    rewrite ^(.+)/ $1.php;
}
Men Apache envisas med att köra "jespera" snutten också, vilket resulterar i att den inte ens hittar /profile.php, och i detta fallet skall den INTE pekas mot en query string.

(Nej, detta är av någon anledning inte uppbyggt som ett traditionellt MVC och utgår INTE alltid från /index.php)

Någon som har något förslag?
Vad jag förstår av ditt inlägge vill du att /profile/jespera skall öppna
/profile.php istället. Gissar även du menar att första filen heter /profile/jespera.php
Om det är så är det bara att köra en Redirect typ:
Redirect /profile/jespera.php http://www.dindomän.se/profile.php
Kom ihåg att lägga ut hela adressen till vart du skall hamna. Annars får du dessa problem. I alla fall på en "normal" apche server.
bredbandsbloggen.se är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-11, 10:00 #3
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Jag förstår inte heller helt hur du vill ha omskrivningen.
Hur vill du ta emot jespera på sidan?

Att skriva om så att /profile/jespera anropar /profile.php är ju inga problem med htaccess och mod_rewrite. Har du kikat på den tekniken?
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-11, 12:14 #4
FredrikMHs avatar
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2004
Inlägg: 1 501
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
FredrikMHs avatar
 
Reg.datum: Apr 2004
Inlägg: 1 501
Jag antar att det är mod_rewrite han arbetar med och i så fall borde något i stil med detta fungera:
Kod:
RewriteEngine on
RewriteRule /profile/.* /profile.php [L]
FredrikMH är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-12, 03:14 #5
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Citat:
Ursprungligen postat av bredbandsbloggen.se Visa inlägg
Vad jag förstår av ditt inlägge vill du att /profile/jespera skall öppna /profile.php istället.
Japp, oavsett vad jag skiver efter /profile/ så skall den ALLTID peka mot /profile.php


Citat:
Ursprungligen postat av bredbandsbloggen.se Visa inlägg
Gissar även du menar att första filen heter /profile/jespera.php
Nej, som ovån, /profile/jespera skall alltid använda /profile.php och /profile/jespera var ju bara ett exempel, som sagt, oavsett vad jag skriver efter /profile/ skall den alltid använda /profile.php


Citat:
Ursprungligen postat av nosnaj Visa inlägg
Jag förstår inte heller helt hur du vill ha omskrivningen.
Hur vill du ta emot jespera på sidan?
jespera tas emot med php $_SERVER['REQUEST_URI']

Citat:
Ursprungligen postat av nosnaj Visa inlägg
Att skriva om så att /profile/jespera anropar /profile.php är ju inga problem med htaccess och mod_rewrite. Har du kikat på den tekniken?
Japp det står i topic





Citat:
Ursprungligen postat av FredrikMH Visa inlägg
Jag antar att det är mod_rewrite han arbetar med och i så fall borde något i stil med detta fungera:
Kod:
RewriteEngine on
RewriteRule /profile/.* /profile.php [L]
Tyvärr, den koden fungerar inte.

Min nuvarande är:

Kod:
<IfModule mod_rewrite.c>
		Options +FollowSymLinks
		RewriteEngine on
		RewriteCond %{REQUEST_FILENAME} !-d
		RewriteCond %{REQUEST_FILENAME}\.php -f
		RewriteRule ^(.*)/$ /$1.php
</IfModule>
Typ så det brukar se ut, detta gör ju att /profile/ åtminstonde fungerar och använder /profile.php men såfort jag skriver något efter /profile/ så hittar den ingen fil alls att använda, antar att den då letar upp en mapp för /profile/ istället för att köra /profile.php
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-12, 11:30 #6
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
På de flesta webbhotell behöver du även definiera RewriteBase, så om du använder dig av ett webbhotell så behöver du troligtvis lägga till denna raden efter RewriteEngine On:

Kod:
RewriteBase /
crazzy är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:12.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017