URL-адреса Magento, отличные от домашней страницы, не работают без index.php

Мой magento установлен в Ubuntu Linux в /var/www/magento. Этот вопрос выглядит как некоторые из вопросов в архивах а на самом деле несколько другое. Когда я установил Magento на Ubuntu Linux Я включил мод Apache _, перезаписывающий URL-адрес.

Когда я захожу на http ://localhost/magento мой сервер переписывает URL как http ://localhost/magento/ и отображает страницу. Затем я нажимаю на одну из ссылок в панели навигации,скажем, это элемент панели навигации -"foo". Затем magento переносит меня на:

http :// локальный/magento/foo.html

который отображает страницу Apache «Не найдено».

Мне нужно изменить URL-адрес на ----->

. http :// локальный/magento/index.php/foo.html

для отображения страницы.

Как будто что-то не так в моем моде _rewrite.

Спасибо,

Джон Гош

КОНФИГУРАЦИЯ :Система -> Конфигурация -> (Общие -> )Интернет:

Использовать перезапись веб-сервера :ДА

Базовый URL :http :// localhost/magento

Если я установлю «Пользовательский веб-сервер перезаписывает :» на «НЕТ», тогда ссылки с моей главной страницы работает нормально, но см. страницу http :// локальный/magento/index.php/foo.html который отображает правильную страницу, но тогда как веб-сайт работает, мне не нравится URL. я хотел бы, чтобы он был http :// localhost/magento/foo.html без бита index.php, так как это, вероятно, также быть более дружелюбным к SEO -.

Спасибо,

Джон Гош


Обновление :Я попытался раскомментировать свой искусственный IP-адрес 127.0.1.1. который ubuntu поместил в /etc/hosts и разместил там мой настоящий IP, но не повезло. У меня все еще точно такая же проблема. И URL внутри мой браузер переписывается на http ://localhost/etc... всякий раз, когда я введите 192.168.3.31, avalanche или avalanche.com внутри него. Я все еще пытаюсь понять, как решить проблему выше описано как этого не делал.

127.0.0.1       localhost
#127.0.1.1      avalanche

192.168.4.35    avalanche avalanche.com

Когда я перезапускаю Apache, я получаю:

# service apache2 restart
 * Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName

Не знаю, как исправить исходную проблему. Я тестирую на локальном сервере.


Я даже пробовал это решение, а затем перезапускал apache2, но не повезло!

Как удалить index.php из URL-адресов?

так размещая:

RewriteEngine On
RewriteBase /mymagento/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

не работает, даже с RewriteBase/ не работает.


ХОРОШО,наконец мне удалось решить проблему. Файл /etc/apache2/sites -enabled/000 -default имеет следующий набор директив для всех каталогов определено в этом файле:

 AllowOverride None

Например, для /var/www, который является корневым документом по умолчанию. установленный в системе Ubuntu 12.04 LTS Linux, этот файл содержит

    
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    

что, насколько я понимаю, означает, что файлы.htaccess, найденные в этот каталог и все его подкаталоги не будут проанализированы. Для устранения проблемы достаточно установить:

AllowOverride All

это означает, что вы сможете переопределить директивы конфигурации сервера находится в /etc/apache2/apache2.conf (или /etc/apache2/httpd.conf, который включены в него ).

Одной из причин, по которой AllowOverride по умолчанию установлено значение None, может быть то, что это замедляет работу сервера, а другое — из соображений безопасности. Этот директива должна быть установлена ​​внутри тега, а последние могут преобладать над первыми. Другая причина, по которой это не по умолчанию установлено, что необходимо рекурсивно анализировать.htaccess на сайте каждый раз, когда файл в пути к каталогу загружается может замедлить работу системы и, таким образом,.htaccess в /etc/apache2/httpd.conf, когда рекомендуется, так как это может вызвать увеличение скорости.

Итак, место

    
            Options Indexes FollowSymLinks MultiViews
            #AllowOverride None
            AllowOverride All
            Order allow,deny
            allow from all
    

внутри /etc/apache2/sites -включено/000 -по умолчанию

и запустите :перезапуск службы apache2

это решение.

19
задан Community 23 May 2017 в 11:45
поделиться