Я пытаюсь включить перезапись мода на apache для xampp, код раскомментировал
LoadModule rewrite_module modules/mod_rewrite.so
также у меня есть AllowOverride All, но он все еще не работает,
Я получаю сообщение об ошибке 400, в котором говорится
Плохой запрос!
Ваш браузер (или прокси) отправил запрос, который этот сервер не может понять.
поэтому я попытался установить версию сообщества zend server, в которой есть apache, и я сделал все следующее, и переписывание URL-адреса работает, но на этот раз общая папка внутри веб-приложения скрыта в apache, и когда я пытаюсь скопировать контент из общей папки и получить доступ к ней в корне, я получаю сообщение об ошибке 500, в котором говорится
Внутренняя ошибка сервера
Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.
Буду признателен, если кто-нибудь поможет мне настроить один из них. Я пытаюсь использовать фреймворк zend.
Спасибо
.htaccess
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
php_flag short_open_tags on
журнал ошибок apache:
Неверный URI в запросе GET / webfolder / zf-tutorial / public / index / add HTTP / 1.1, referer: http: // локальный / веб-папка / zf-учебник / общедоступный /
Обновить: Я переместил веб-приложение в htdocs в apache, и теперь все работает, я раньше указывал корень в следующий каталог
Alias /webfolder/ "C:/Users/Amir/Documents/webfolder/"
Alias /webfolder "C:/Users/Amir/Documents/webfolder"
любые идеи, почему это не работало раньше. Спасибо
Ваши правила перезаписи противоречат друг другу и расположены в неправильном порядке. Все правила перезаписи должны прийти после директива RewriteEngine.
Удалите первую строку и удалите относительный путь из последнего RewriteRule:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Этот .htaccess должен быть в ваш общедоступный / каталог.
Пожалуйста, посмотрите руководство. Добавление дополнительных правил RewriteRules - не решение.
AllowOverride включает файлы .htaccess. я предполагаю, что у вас плохой .htaccess на пути к веб-сайту.
Если у вас есть недопустимый синтаксис в файле .htaccess, вы получите ошибку сервера 500.
включения перезаписи также недостаточно, вам нужно добавить строку RewriteEngine On в ваш файл virtualhost или .htaccess, а затем следовать ей с вашими правилами перезаписи
ОКРУГ КОЛУМБИЯ