Hallo,
Ben bezig met het opzetten van Zend Framework op een (shared) hosting account bij DreamHost. Heb hiervoor een custom PHP install moeten doen vanwege een custom include_path in de php.ini voor ZF.
Heb hiervoor ook een .htaccess moeten aanmaken in de root folder en die ziet er als volgt uit:
Dat werkt allemaal prima, PHP files worden gewoon door de nieuwe install geparsed.
Om ZF lekker te laten werken moet ik wat mod_rewrite rules aanmaken zodat het allemaal mooi via een directory structuur werkt (mensen bekend met ZF weten wat ik bedoel). Nu wil het zo zijn dat de rewrite rules hiervoor interfereren met de .htaccess code van hierboven, ik krijg namelijk mooie HTTP 500 errors als ik ook maar iets aanroep. Dit zijn de rewrite rules voor ZF (voor shared hosting, hier vandaan geplukt):
Ik heb deze rewrite rules ook al geprobeerd, met hetzelfde resultaat.
Mijn application draait in de root van mijn hosting account en dat ziet er zo uit:
Die .htaccess daar heeft dus de custom PHP install code en de ZF rewrite rules erin.
Hoe kan ik er nou voor zorgen dat dit werkt, dat zowel mijn custom PHP aan wordt geroepen en dat de ZF rewrite rules werken, ook zonder dat die rewrite rules worden toegepast op de /cgi-bin/ folder van mijn custom PHP?
Ben bezig met het opzetten van Zend Framework op een (shared) hosting account bij DreamHost. Heb hiervoor een custom PHP install moeten doen vanwege een custom include_path in de php.ini voor ZF.
Heb hiervoor ook een .htaccess moeten aanmaken in de root folder en die ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
| Options +ExecCGI AddHandler php-cgi .php Action php-cgi /cgi-bin/php.cgi <FilesMatch "^php5?\.(ini|cgi)$"> Order Deny,Allow Deny from All Allow from env=REDIRECT_STATUS </FilesMatch> |
Dat werkt allemaal prima, PHP files worden gewoon door de nieuwe install geparsed.
Om ZF lekker te laten werken moet ik wat mod_rewrite rules aanmaken zodat het allemaal mooi via een directory structuur werkt (mensen bekend met ZF weten wat ik bedoel). Nu wil het zo zijn dat de rewrite rules hiervoor interfereren met de .htaccess code van hierboven, ik krijg namelijk mooie HTTP 500 errors als ik ook maar iets aanroep. Dit zijn de rewrite rules voor ZF (voor shared hosting, hier vandaan geplukt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| RewriteEngine On RewriteRule ^\.htaccess$ - [F] RewriteCond %{REQUEST_URI} ="" RewriteRule ^.*$ /public/index.php [NC,L] RewriteCond %{REQUEST_URI} !^/public/.*$ RewriteRule ^(.*)$ /public/$1 RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.*$ - [NC,L] RewriteRule ^public/.*$ /public/index.php [NC,L] |
Ik heb deze rewrite rules ook al geprobeerd, met hetzelfde resultaat.
Mijn application draait in de root van mijn hosting account en dat ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
| - zend (ZF files) - php5 (custom PHP install files met custom php.ini) - <domain_name_hier> (domain root) - application - cgi-bin (php.cgi) - library - public - tests - .htaccess - .zfproject.xml |
Die .htaccess daar heeft dus de custom PHP install code en de ZF rewrite rules erin.
Hoe kan ik er nou voor zorgen dat dit werkt, dat zowel mijn custom PHP aan wordt geroepen en dat de ZF rewrite rules werken, ook zonder dat die rewrite rules worden toegepast op de /cgi-bin/ folder van mijn custom PHP?