ИСПРАВЛЕНО] Apache2 URL переписать с помощью Joomla - проблема с разрешением? (500 внутренняя ошибка)
ФИКСИРОВАННЫЙ
Я использую LAMP с Joomla 3.3.4 на рабочем столе Ubuntu
В настоящее время я использую локальный ip (192.168.xx) для доступа к сайту, так как у меня пока нет доменного имени, пока я все еще разрабатываю сайт. Я боролся с этой проблемой в течение многих месяцев, просматривая форумы, на которых есть исправления, которые, кажется, работают для других, но не для меня.
Я пытаюсь избавиться от index.php
', который показывает в URL, который выглядит действительно глупым. Каждая страница, которая не является главной страницей, будет выглядеть как domain.com/index.php/page
который я хочу изменить domain.com/page
,
Я перепробовал все решения, перечисленные в http:// forum.joomla.org/viewtopic.php?t=614279 Ни одно из них не работает для меня, хотя они работают для многих других людей. Этот код с самым высоким рейтингом не сделал для меня абсолютно никакой разницы:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Команда ' a2enmod rewrite
выводит, что он уже включен и так сказать php и joomla.
мой /sites-enabled/000-default.conf
не содержит <Directory>
теги, как указано в ' AllowOverride
' решение. Когда я добавил их с указанным кодом, мой сайт начал работать 500 internal error
,
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Когда я включаю "использовать перезапись URL" в Joomla, он делает все страницы 404, кроме домашней страницы (domain.com)
Апач error.log
спамится следующим:
Опечатка, которую я исправил, но до сих пор ничего не решило
'
/var/www/html/.htaccess
: Опции здесь не разрешены "(чего я не понимаю)'Запрос превысил 10 внутренних перенаправлений из-за возможной ошибки конфигурации. Используйте LimitInternalRecursion, чтобы увеличить лимит, если это необходимо. используйте 'LogLevel debug', чтобы получить обратную трассировку '
Понятия не имею, что здесь происходит, есть идеи?
РЕДАКТИРОВАТЬ:
'
public $live_site =
'Значение в файле Joomla configuration.php в настоящее время не установлено, оно должно содержать доменное имя. Когда я попытался установитьlocalhost
"Это заставило весь мой шаблон сайта работать без проблем. То же самое для192.168.x.x'
error.log спамит: PHP Примечание: неопределенный индекс: HTTP_HOST в /var/www/html/libraries/joomla/applications/web.php в строке X
Это повторяется почти для каждого .php
файл.
- Я заметил это сообщение об ошибке Ubuntu об apache2: https://imgur.com/hKFZhBa
Может ли это быть проблема с разрешениями в Ubuntu и Apache2? - У меня были проблемы с правами доступа к программному обеспечению, даже joomla, он не мог изменять файлы, пока я не установил права доступа к каталогу. - Обычно ваш хост правильно устанавливает разрешения, очевидно, вы ничего не сможете сделать. Хотя я принимаю это сам.
РЕДАКТИРОВАТЬ 2:
Версия Ubuntu: 14.04
Конфигурационные файлы Apache2: http://pastebin.com/raw,php?i=6H6rP2aY
1 ответ
Я нашел решение своей проблемы.
Я использовал это руководство: http://docs.joomla.org/How_to_check_if_mod_rewrite_is_enabled_on_your_server
... чтобы узнать, если mod_rewrite
функционирует; Не было. Это означает, что проблема не заключается в .htaccess
или ваши настройки Joomla, но в Apache.
Если Apache не настроен правильно, .htaccess
будут игнорироваться
В моих конфигах AllowOverride
был установлен на цель /var/www/
вместо /var/www/html/
, Обновление, которое решило проблему для меня.
Я надеюсь, что это может помочь и другим людям, и если вы обнаружите, что ваши настройки Apache соответствуют упомянутому мною руководству, то ваша проблема заключается в вашем веб-сайте; ваш .htaccess
или конфиги Joomla.