| Visa föregående ämne :: Visa nästa ämne |
| Startad av: |
Meddelande |
pettolajnen

Medlem i: 2830 dagar Från: Täby
Status: Offline
#720743
|
Skrivet: 2012-02-19 14:43
Ämne: Hjälp mig med htaccess wildcards för mappar
|
|
|
Jag vill att om sökvägen
/(.*1)/(.*2)/(.*3)
inte existerar så ska det vara ett alias till:
/book/$3
och om den inte existerar:
/$3
Hur skriver man detta med riktig "htaccess-kod"?
Jag är dålig på det men skulle verkligen behöva funktionaliteten. Vore jätte hjälpsamt om någon kunde visa mig hur det ska se ut. |
|
|
_________________ http://www.websitefactory.se |
| Till toppen på sidan |
|
pettolajnen

Medlem i: 2830 dagar Från: Täby
Status: Offline
#720761
|
Skrivet: 2012-02-19 22:16
Ämne:
|
|
|
Ingen som vet hur man gör?  |
|
|
_________________ http://www.websitefactory.se |
| Till toppen på sidan |
|
metalboy
Medlem i: 3322 dagar Från: Upplands Väsby
Status: Offline
#720767
|
Skrivet: 2012-02-20 09:50
Ämne:
|
|
|
| Jag förstår inte riktigt vilken funktionalitet det är du är ute efter. Kan du ge ett mer konkret exempel? |
|
|
_________________ "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain |
| Till toppen på sidan |
|
pettolajnen

Medlem i: 2830 dagar Från: Täby
Status: Offline
#720774
|
Skrivet: 2012-02-20 11:07
Ämne:
|
|
|
Okej!
Alltså, det hela handlar ju om att jag vill snygga till webbadressen. Och då vill jag att när man besöker webbsidan på t ex adressen:
exempel.se/fotbollsvm/vm2010/ensida.php
så ska .htaccess kolla om den filen existerar på riktigt i mapp-systemet och i så fall köra den filen. Men om den inte finns, så ska den kolla om denna fil existerar istället:
exempel.se/book/ensida.php
och i så fall köra den. Men om inte den heller finns i mapp-systemet, så ska följande fil köras:
exempel.se/ensida.php
Men i adressfältet ska det alltså fortfarande hela tiden bara stå:
exempel.se/fotbollsvm/vm2010/ensida.php
Blev det klarare nu? |
|
|
_________________ http://www.websitefactory.se |
| Till toppen på sidan |
|
metalboy
Medlem i: 3322 dagar Från: Upplands Väsby
Status: Offline
#720775
|
Skrivet: 2012-02-20 11:16
Ämne:
|
|
|
Ja då förstår jag
Testa med följande:
1: RewriteEngine On
2: 3: RewriteCond book/$1 =-f
4: RewriteRule .*/.*/(.*) book/$1 [L,QSA]
5: 6: RewriteRule .*/.*/(.*) $1 [QSA]
|
|
|
|
_________________ "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain |
| Till toppen på sidan |
|
pettolajnen

Medlem i: 2830 dagar Från: Täby
Status: Offline
#720776
|
Skrivet: 2012-02-20 11:31
Ämne:
|
|
|
Jag kan inte exakt lokalisera vad som gick snett nu. Men jag kommer in på sidan, men det visas massa felmeddelanden om en include som inte hittar sin fil.
Jag gick nu in på adress som motsvarar följande:
exempel.se/fotbollsvm/vm2010/
vilket inte existerar i mapp-systemet och då alltså ska köra filen:
exempel.se/book/
Och eftersom det finns en index.php-fil i /book så ska denna köras. Alltså exempel.se/book/index.php blir det ju egentligen...
Men vet inte vad som kan ha gått snett nu. Det verkar ju som det fungerar på ett sätt. Men en include hittar alltså inte sin fil helt plötsligt. Får följande:
Warning: include(./calendar.php) [function.include]: failed to open stream: No such file or directory in /var/www/web434/web/index.php on line 77
Warning: include(./calendar.php) [function.include]: failed to open stream: No such file or directory in /var/www/web434/web/index.php on line 77
Warning: include() [function.include]: Failed opening './calendar.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/web434/web/index.php on line 77 |
|
|
_________________ http://www.websitefactory.se |
| Till toppen på sidan |
|
metalboy
Medlem i: 3322 dagar Från: Upplands Väsby
Status: Offline
#720777
|
Skrivet: 2012-02-20 11:35
Ämne:
|
|
|
Hmm... du bör nog lägga till ett par RewriteCond förresten. Då skriver den inte om i de fall sökvägen existerar.
1: RewriteEngine On
2: 3: RewriteCond %{REQUEST_FILENAME} !-d
4: RewriteCond %{REQUEST_FILENAME} !-f
5: RewriteCond book/$1 =-f
6: RewriteRule .*/.*/(.*) book/$1 [L,QSA]
7: 8: RewriteCond %{REQUEST_FILENAME} !-d
9: RewriteCond %{REQUEST_FILENAME} !-f
10: RewriteRule .*/.*/(.*) $1 [QSA]
|
Ändra:
Sen kanske du behöver ange absoluta sökvägar i dina script om du inte gör det nu. |
|
|
_________________ "Det finns tre sorters lögn; vanlig lögn, förbannand lögn och statistik" - Mark Twain |
| Till toppen på sidan |
|
pettolajnen

Medlem i: 2830 dagar Från: Täby
Status: Offline
#720780
|
Skrivet: 2012-02-20 11:45
Ämne:
|
|
|
Det enda som hände nu var att en bakgrundsbild kom fram som inte syntes innan. Men samma felmeddelanden står fortfarande kvar.
Så här har jag skrivit includen i koden:
include_once $_SERVER['DOCUMENT_ROOT']."/book/calendar.php";
Edit: Nej nu vet jag vad som är fel. Man kom till rootens index-sida. Alltså bara /index.php när man skulle till /book/index.php. Det är problemet. Hur löser man detta?
Edit: Tror jag lyckades lösa det själv nu faktiskt. Så här blev det:
1: RewriteEngine On
2: 3: RewriteCond %{REQUEST_FILENAME} !-d
4: RewriteCond %{REQUEST_FILENAME} !-f
5: RewriteRule .*/.*/(.*) book/$1 [QSA]
6: 7: RewriteCond %{REQUEST_FILENAME} !-d
8: RewriteCond %{REQUEST_FILENAME} !-f
9: RewriteRule .*/.*/(.*) /$1 [L,QSA]
|
Tusen tack för hjälpen!  |
|
|
_________________ http://www.websitefactory.se |
| Till toppen på sidan |
|
|