Toon posts:

[Apache] mod_rewrite rules van localhost naar domeinnam

Pagina: 1
Acties:
  • 208 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
* ik probeer een aantal rewrite rules te schrijven die het volgende doen:

case 1: een request naar mysite.com:
rewrite http://www.mysite.com/files/sheets.ppt
naar http://www.mysite.com/sites/default/files/sheets.ppt

case 1 - n: a request to othersite.com:
rewrite http://www.othersite.com/files/sheets.ppt
naar http://www.othersite.com/sites/othersite/files/sheets.ppt

Dus bij een request naar mysite.com, moeten /files/* urls worden omgezet naar /sites/default/files/*, omdat mysite.com de default website op de server is. Een request naar elke andere website op de server, moet herschreven worden naar /sites/<naam_van_site>/files/*

Op dit forum heeft iemand een soortgelijke vraag gesteld, maar dat ging over sites op localhost:
code:
1
2
3
4
# http://localhost/mysite/files/* > /mysite/sites/default/files/*
RewriteCond %{REQUEST_URI}-default ^/mysite/.+-(default)$ [NC,OR]
# http://localhost/<othersite>/files/* > /<othersite>/sites/<othersite>/files/*
RewriteCond %{REQUEST_URI}-default ^(.+)(default)$ [NC,OR]

Na de Apache mod_rewrite pagina door te hebben gelezen (voor zover ik het begreep), hielp me om deze regels enigszins te begrijpen, maar ik raak in de war nu ik deze op localhost gebaseerde regels moet omzetten naar domeinen. Kan iemand mij hierbij helpen? :)

  • Bitage
  • Registratie: April 2006
  • Laatst online: 27-01 18:21
code:
1
2
3
4
RewriteEngine On
RewriteBase /

RewriteRule ^/files/(.*)$ /sites/default/files/$1 [L]


Kan gewoon in een .htaccess overigens :)

Verwijderd

Topicstarter
@Bitage - ik heb een plaatje online gezet: http://studiehulp.nu/sites/default/files/hello.gif

Als jouw rule zou kloppen (en ik begrijp het goed), dan zou surfen naar http://studiehulp.nu/files/hello.gif hetzelfde plaatje moeten opleveren. In plaats daarvan krijg ik "gewoon" de indexpagina te zien.

Ik heb nu de volgende .htaccess in de website root:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Set some options
Options -Indexes
Options +FollowSymLinks

# Customized server error messages:
ErrorDocument 404 /index.php

# Set the default handler to index.php:
DirectoryIndex index.php

# Rewrite rules
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteRule ^/files/(.*)$ /sites/default/files/$1 [L]
</IfModule>

Heeft iemand nog meer suggesties? :)

Verwijderd

Bestaat de directory site.com/files/ gewoon?
Dan moet je (volgens mij) nog een extra optie in de htaccess zetten, dat je niet de directories wilt rewriten. Bovendien staat er mogelijk een .htaccess in site.com/files/

[ Voor 3% gewijzigd door Verwijderd op 28-10-2007 10:47 ]


Verwijderd

@TS, voeg 's een RewriteLog en RewriteLogLevel toe. Dan kun je zien wat ie doet en daaruit afleiden wat er fout gaat.