2012-06-13 2 views
1

есть ли способ доступа, например. prolink.php файл в Zend/общедоступном каталоге, набрав mydomain.com/prolink.php и перейти к применению в других случаях (index.php)zend htaccess public php file

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

я должен указать маршрут для этого?

+1

Добавить 'RewriteRule^prolink.php $/Public/prolink.php' выше других линий , – Gerben

+0

RewriteRule в порядке, но я выполнил его с RewriteCond% {REQUEST_FILENAME}! -f – Wojciechk

ответ

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 Если запрос на файл, который существует уже на сервере, index.php не подается.

+0

Хорошая работа. (Вероятно, вы захотите добавить это условие '-f' ко второму правилу тоже.) – Gerben

0

поместить файл index.php в папке общего и поместить .htaccess в корневой папке, содержимое ведьмами

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