Zend Framework на виртуальном хостинге

В C #:

public static IEnumerable<IEnumerable<T>> Combinations<T>(this IEnumerable<T> elements, int k)
{
  return k == 0 ? new[] { new T[0] } :
    elements.SelectMany((e, i) =>
      elements.Skip(i + 1).Combinations(k - 1).Select(c => (new[] {e}).Concat(c)));
}

Использование:

var result = Combinations(new[] { 1, 2, 3, 4, 5 }, 3);

Результат:

123
124
125
134
135
145
234
235
245
345
16
задан markus 12 July 2009 в 09:52
поделиться

7 ответов

Я думаю, что лучший способ - удалить .htaccess из общедоступного каталога (структура каталога Zend Framework) и поместить его со следующим содержимым в свой «корневой» каталог:

 
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]

12
ответ дан 30 November 2019 в 21:11
поделиться

Действительно, запускать приложения Zend Framework на общем хостинге - не лучшая идея. Я бы очень рекомендовал приобрести виртуальный частный хостинг (VPS). Существуют очень хорошие и недорогие хостинги с уже установленными и регулярно обновляемыми Zend Framework и другими фреймворками. Я нахожусь на servergrove , и пока все идет отлично!

Но это не значит, что вы не можете заставить его работать на общем хостинге. Вам просто лучше работать с .htacess. Поместите содержимое общей папки в корневой каталог и настройте пути в bootstrap.php, убедитесь, что все другие папки недоступны напрямую, и используйте обычный подход ZF для маршрутизации всего через ваш index.php.

м на servergrove , и до сих пор это было здорово!

Но это не значит, что вы не можете заставить его работать на общем хостинге. Вам просто лучше работать с .htacess. Поместите содержимое общей папки в корневой каталог и настройте пути в bootstrap.php, убедитесь, что все другие папки недоступны напрямую, и используйте обычный подход ZF для маршрутизации всего через ваш index.php.

м на servergrove , и до сих пор это было здорово!

Но это не значит, что вы не можете заставить его работать на общем хостинге. Вам просто лучше работать с .htacess. Поместите содержимое общей папки в корневой каталог и настройте пути в bootstrap.php, убедитесь, что все другие папки недоступны напрямую, и используйте обычный подход ZF для маршрутизации всего через ваш index.php.

1
ответ дан 30 November 2019 в 21:11
поделиться

Я был в той же ситуации и поместил библиотеки zend в папку под общедоступными, например 'src '- и используйте .htaccess Deny from All. Придется переделать пару путей, но все работает нормально.

0
ответ дан 30 November 2019 в 21:11
поделиться

Я предлагаю самое простое: разрабатывайте свои приложения так, чтобы index.php находился в вашем корневом каталоге (еще лучше - всегда определяйте PUBLIC_PATH - dirname (__ FILE __); в вашем index.php и сделайте ссылки относительно этой константы). Вместе с папками приложения и библиотеки. Вы можете легко сделать их недоступными извне, используя deny from all в .htaccess.

Константа PUBLIC_PATH также помогает, когда ваша публикация не является общедоступной. (общедоступный html или / общедоступный html / www (в моем случае))

-1
ответ дан 30 November 2019 в 21:11
поделиться

Включите этот файл .htacces по своему базовому пути (то есть /../public):

RewriteEngine On

# Exclude some directories from URI rewriting
#RewriteRule ^(dir1|dir2|dir3) - [L]

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]

и оставьте .htaccess, который находился в каталоге publc, где он был.

Таким образом, у вас будет 2 файла .htaccess, один в общедоступном каталоге (обычный из документации Zend Framework), а второй - под вашим базовым путем (тот, который я опубликовал выше).

11
ответ дан 30 November 2019 в 21:11
поделиться

. . . Как Magento использует Zend framework ??? Я использую XAMPP, и я установил Magento локально без изменения php.ini, http.conf или виртуального хоста.

0
ответ дан 30 November 2019 в 21:11
поделиться

You should place your project's Public folder to www folder in the host, so your address will become yourdomain.com/. Your source code folder such as library, applications... should be place at same level with www folder, not within it. This method will promote the security of your site

2
ответ дан 30 November 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: