2012-06-13 2 views
1

existe-t-il un moyen d'accéder par ex. fichier prolink.php dans zend/répertoire public en tapant mydomain.com/prolink.php, et passez à l'application dans d'autres cas (index.php)zend htaccess public fichier php

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

dois-je spécifier un itinéraire pour cela?

+1

Ajouter 'RewriteRule^prolink.php $/public/prolink.php' au-dessus des autres lignes . – Gerben

+0

RewriteRule est bien, mais je l'ai accompli avec RewriteCond% {REQUEST_FILENAME}! -f – Wojciechk

Répondre

1
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^prolink.php$ public/prolink.php 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

RewriteCond% {REQUEST_FILENAME}! -f Si la demande est un fichier qui existe déjà sur le serveur, index.php n'est pas servi.

+0

Beau travail. (Vous voudrez probablement ajouter cette condition '-f' à la deuxième règle aussi.) – Gerben

0

placer le fichier index.php dans le dossier public et mis .htaccess dans le dossier racine, le contenu de sorcière

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] 

Options -Indexes 
Questions connexes