2010-02-03 4 views
2

Все,.htaccess редирект папку

Я хочу, чтобы перенаправить весь трафик, который приходит на http://mysite/ в http://mysite/public папку. В настоящее время я делаю это, используя ниже в файле .htaccess, и он работает для корневого каталога. Но если я просматриваю http://mysite/application, он не перенаправляет и не показывает список каталогов. Я хочу, чтобы весь трафик независимо от того, в какой папке он должен перенаправить http://mysite/public папку

RedirectMatch permanent ^/*$ /public/ 

Благодарности

+0

, так что вы не хотите, чтобы пользователи видели css или js * вообще *? –

+0

да .. Я не уверен, что это выполнимо. Если нет, он должен перенаправить любую вещь после http: // mysite/to http: // mysite/public – Jake

ответ

4

Попробуйте mod_rewrite пример:

RewriteEngine on 
RewriteRule !^public/ /public%{REQUEST_URI} [L,R=301] 
+0

Если я перейду к http: // mysite/application, он перенаправляется на http: // mysite/public/application. Он должен перенаправить на http: // mysite/public вместо этого. – Jake

+0

, тогда вы должны просто удалить% {REQUEST_URI}, верно? – Tomba

+0

попробовал это .. это не сработало .. – Jake

0

Я вижу, что вы используете Zend Framework. Zend использует «public» как открытую веб-папку, но вы должны использовать папку, продиктованную вашим веб-хостом. Каково имя папки на стороне сервера, которая находится в Интернете? Ваша файловая структура должна быть такой:

application/ 
[web_exposed_dir]/ 
library/ 

В моем случае [web_exposed_dir] называется «содержание». Вам не придется перенаправлять все на «публичный», если вы сделаете это так, как я изложил.

+0

Я не использую Zend, но я все еще использую общедоступную/папку. Я никогда ничего не слышал о том, что «public /' является защищенной авторским правом техникой ... – Shoe

+0

Это не защищено авторским правом, я указывал, что веб-хост может использовать другое имя общей папки, чем это по умолчанию для Zend Framework. – Sonny

Смежные вопросы