Intereting Posts
PHP – простой массив вложенных неупорядоченных списков (UL) nginx: connect () не удалось (111: соединение отказано) при подключении к восходящему потоку Можно ли указать динамический тип, возвращаемый в PhpStorm? URL-адрес перезаписи для субдомена самый быстрый способ выбрать N-й элемент хэша Как выбрать все элементы, чей идентификатор содержит определенную подстроку? Как начать и завершить транзакцию в mysqli? Как получить дочерний объект PHP DOMDocument по индексу PHP – как использовать $ timestamp для проверки, является ли сегодня понедельник или 1 месяц? Вызов undefined метода App :: uses () – cakephp – CakeEmail Отчеты проверки PHP. Селектор CSS не используется. Он используется эхом повторением тега PHP Там, где работает статья, не работает на tinyint Проблема с: Неустранимая ошибка: оператор не поддерживается для строк в Создать квадрат 1: 1 thumbnail в PHP PHP: заполнение массива с именами следующих 12 месяцев

ZEND – Как заставить его работать на общем хосте?

Мне нужно переместить сайт Zend на общий хостинг, который использует Pretty URL, но css-файлы не загружаются при добавлении параметров. Прежде чем двигаться, я хочу проверить с адресом ip сервера, чтобы быть уверенным.

Например
-SERVER_IP / ~ имя_пользователя / en (работает)
-SERVER_IP / ~ имя_пользователя / en / news (сбой из-за его поиска в папке «en»)

Я хотел бы перенаправить каждый файл css из path / css / в мою настоящую папку css, в которой есть много файлов css.

Я хочу одно и то же для каждого пути / images / и / js / и, возможно, других.

Кто-нибудь может мне помочь ?

Спасибо!

ОБНОВЛЕНИЕ 1

Относится ли относительное изменение пути между domain.com и SERVER_IP / ~ именем пользователя? Когда я устанавливаю /css/style.css, он ищет SERVER_IP / css / style.css вместо SERVER_IP / ~ username / css / style.css. Если я смогу заставить его работать для обоих, мои проблемы исчезнут. Но я не могу тестировать домен, потому что на данный момент у меня его нет.

ОБНОВЛЕНИЕ 2

Я изменил файл моих хостов в C: \ windows \ system32 \ drivers \ etc \, чтобы имитировать реальный домен. Как я ожидаю, относительный путь не работает одинаково.

- SERVER_IP/~username/index.php <img src="/img/world.jpg" /> => SERVER_IP/img/world.jpg (BAD, note i've lose ~username) - www.domain.com/index.php <img src="/img/world.jpg" /> => www.domain.com/img/world.jpg (perfect) 

С этим изменением весь мой путь хорош сейчас, и нет необходимости перенаправлять что-либо. Но возникает другая проблема. Поскольку я использую www.domain.com, index.php отображается в URL-адресе, и я не хочу этого: www.domain.com/index.php/en

ОБНОВЛЕНИЕ 3

Я нашел это правило: RewriteRule ^index.php(.*)$ http://%{HTTP_HOST}/$1 [R=301,NC,L] . index.php теперь удаляется, но когда я нахожусь на www.domain.com/en, похоже, что en не находится в запросе uri, и все мои ссылки переходят на сайт www.domain.com/en/en / …

Я вставляю здесь свой контент .htaccess:

 Options +FollowSymLinks Options -Indexes RewriteEngine on RewriteBase / DirectoryIndex index.php index.html RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule .* - [L] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^index.php(.*)$ http://%{HTTP_HOST}/$1 [R=301,NC,L] 

ОБНОВЛЕНИЕ 4

Я понял ! Я опишу все свое решение ниже!

Related of "ZEND – Как заставить его работать на общем хосте?"

ПОЛНОЕ ЗАКЛЮЧИТЕЛЬНОЕ РЕШЕНИЕ

Я нашел решение, все работает # 1 сейчас на общем хостинге. Вот мое полное решение, я надеюсь, что это сэкономит много времени кому-то.

1- Завершить Zend Architecture (D = Каталог, F = Файл)

 - public_html/ (D) application/ (D) data/ (D) library/ (D) docs/ (D) nbproject/ (D) public/ (F) index.php ... (F) .htaccess 

2- Удалите основной файл .htaccess в папке «public /» и поместите его в корневую папку «public_html /» (или ../public)

 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] 

КОНЕЦ !!! Это все, что вам нужно сделать, ничего больше, никакого сложного или грязного кода! Этот файл .htaccess разрешает проблему с конфигурацией DOCUMENT_ROOT в файле httpd.conf для общего хостинга.

ВАЖНАЯ ЗАМЕТКА
Если ваш домен не перенаправлен в этот момент (или вы хотите протестировать, прежде чем перемещать хост с сервера на другой (мой случай)), и вы хотите получить доступ к своему сайту с таким URL-адресом
http://SERVER_IP/~username/ , это не сработает. Лучшее решение – временно изменить файл хостов в C: \ windows \ system32 \ drivers \ etc \, чтобы добавить строку следующим образом:
SERVER_IP domain.com Это отлично работает!