Сведения о вопросе

Holish

11:13, 18th August, 2020

php Zend / MVC без mod_rewrite

Просмотров: 432   Ответов: 5

Я видел, что это упоминается во многих блогах по сети, но я считаю, что это должно обсуждаться здесь. Что мы можем сделать, когда у нас есть фреймворк MVC (меня интересует ZEND) в PHP, но наш хост не предоставляет mod_rewrite? Есть ли какие-нибудь "short-cuts"? Можем ли мы каким-либо образом передать управление (чтобы между страницами могло возникнуть сопоставление)? Есть идеи? Спасибо :-)



  Сведения об ответе

PROGA

12:12, 15th August, 2020

Zend framework должен работать без mod_rewrite . Если вы можете жить с вашим URL:s, больше похожим на "/path/to/app/index.php/controller/action". Если бы у вас был mod_rewrite, вы могли бы избавиться от бита "index.php", но он тоже должен работать.

Все дело в настройке маршрутов для принятия части index.php.


  Сведения об ответе

park

15:28, 23rd August, 2020

ОК мой вердикт : -): я успешно использовал zend без mod_rewrite, и это, как вы все сказали site/index.php/controller/action. Я знал это еще до того, как выложил это. Я также обнаружил в сети технику, которая "pushes" 404 страниц к index.php, следовательно, что не является ресурсом (например. CSS, image и т. д.) попадает туда, за одним исключением: POST значения. Поэтому я решил, что в следующий раз, когда заявка будет сделана на конкретном сервере, вежливо попросить mod_rewrite. Если администратор не может предоставить его, поговорите с моим начальником или, если это для меня, переключите провайдера. Вообще, иногда бывает обидно, что рынок PHP так сильно фрагментирован (php4, php5, php6, mod_rewrite, mod_auth, mod_whatever), но это уже другая история...


  Сведения об ответе

JUST___

03:11, 10th August, 2020

mod_rewrite почти необходим в сегодняшнем хостинге environment..but к сожалению, не все получили сообщение.

Многие большие программы php (я думаю, что magento, но большинство может справиться) имеют довольно-url откатный режим, когда mod_rewrite недоступен.

URLs в конечном итоге выглядит как www.site.com/index.php?load-this-page

Они должны использовать какое-то волшебство, чтобы захватить имя переменной из переменной $_GET и использовать его в качестве селектора для выполнения модуля/функции.

В соответствующей заметке я видел много перепутанных URLs на новом сайте facebook, где он использует #. Таким образом, ссылки выглядят как www.new.facebook.com/home.php# / inbox / ясно, что мы не должны это видеть, но это предполагает, что они, вероятно, анализируют переменную $_SERVER['REQUEST_URI'].


  Сведения об ответе

dumai

09:09, 17th August, 2020

Если вы можете найти не-mod_rewrite способ перенаправить все запросы на index.php (или где бы ни находился ваш сценарий инициализации), вы можете, как уже упоминалось выше, использовать 'REQUEST_URI', чтобы захватить часть адреса после домена, а затем проанализировать его по своему усмотрению и заставить запрос делать то, что вы хотите. Вот как это делает Wordpress (конечно, с mod_rewrite). Пока вы можете перенаправлять запросы на свою страницу индекса, сохраняя при этом тот же URI, вы можете делать все, что вам нужно для обработки запроса.


  Сведения об ответе

DINO

05:11, 13th August, 2020

Правила перезаписи Drupal переводят

http://example.com/path/goes/here

в

http://example.com/index.php?вопрос=path/goes/here ..

.

и имеет логику, чтобы решить, какой аромат URLs генерировать. Если вы можете жить с уродливым URLs, это позволит вам сохранить всю логику одного фронтального контроллера на месте, не полагаясь на перезапись URL.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться