Modx не работают дружественные url

Не работают дружественные URL

ЧПУ поставил как написано на всех сайтах по настройке дружественных URL. htaccess тоже вроде настроен.

# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., «/modx» if your installation is in a «modx» subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]

RewriteEngine On
RewriteBase /

# Rewrite www.domain.com -> domain.com — used with SEO Strict URLs plugin
#RewriteCond %.
#RewriteCond % !^example-domain-please-change\.com [NC]
#RewriteRule (.*) example-domain-please-change.com/$1 [R=301,L]
#
# or for the opposite domain.com -> www.domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %.
#RewriteCond % !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) www.example-domain-please-change.com/$1 [R=301,L]

# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# www.domain.com when your cert only allows secure.domain.com
#RewriteCond % !^443
#RewriteRule (.*) example-domain-please-change.com/$1 [R=301,L]

# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.

#AddType text/x-component .htc

# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP’s register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: php.net/register_globals
#
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for «register_globals». The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS:
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult www.php.net for more detailed
# information about setting PHP directives.

Читайте также:  Как настроить магнитолу ford focus

#php_flag register_globals Off

# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.

#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5

# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they’re in place, you may have
# to do a force-refresh in order to see changes in your designs.

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch «MSIE» brokenvary=1
#BrowserMatch «Mozilla/4.3<2>» brokenvary=1
#BrowserMatch «Opera» !brokenvary
#SetEnvIf brokenvary 1 force-no-vary

Комментарии (7)

Весьма странно, возможно дело в каких то плагинах или настройках, на джино 100% всё работает. В логах modx и в серверном error.log смотрели, есть какие нибудь ошибки?

Если есть возможность, можете прислать доступы на почту (в профиле), посмотрим вашу проблему.

Источник

Дружественные URL — не работает .htaccess

Беда с дружественными URL.

Alias в БД сохраняется! Все пути в ссылках движком ModX строятся как надо! Т.е. mydomen/folder/ — но сам сервак их не отрабатывает. Я грешу на .htaccess

По-умолчанию он почему-то был обозван как ht.access (в папках / и /manager) — переименовал на .htaccess, но в сам файл не лез, так что он родной 0.9.6.1

404 — прописал на отдельную страницу с id отличным от главной. UTF-8 и алиасы корректные латиницей, вид URL — все пучком. Документы со статусом ОПУБЛИКОВАНО. Но вы дается стандартное Denwer’овское сообщение «Not Found. The requested URL /folder/ was not found on this server.»

Система: Windows, Denwer, ModX 0.9.6.1

Прилагаю содержимое .htaccess (комменты порезал):

Спасибо за подсказку. Она натолкнула меня на мысль написать для ModX конструкцию, которую использует WordPress.

Все работает без правки файла конфигурации Апача. Пользуйтесь.

p.s. Странно, что команда ModX не создала того же самого. Данные грабли носят тотальный характер.

иногда бывает так что мод_рерайт включен но все равно не работает.

RewriteEngine on
Options +FollowSymlinks (важная строка в этом случае)
RewriteBase /
RewriteCond % !-f
RewriteCond % !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

p.s. (от модератора) первое предупреждение на счет кодировки. подробности.

Проблема с Friendly URLs

Что не делаю.. все равно получаю ощибку 404. Даже если использовать SEO (Google) Friendly URLs или Friendly urls без mod_rewrite

В настройках апач mod_rewrite вкл. И вроде как работает так как переадресация типа domain.com -> www.domain.com выполняется

Где и в чем может быть ошибка

Источник

Дружественные URL — не работает .htaccess

Беда с дружественными URL.

Alias в БД сохраняется! Все пути в ссылках движком ModX строятся как надо! Т.е. mydomen/folder/ — но сам сервак их не отрабатывает. Я грешу на .htaccess

По-умолчанию он почему-то был обозван как ht.access (в папках / и /manager) — переименовал на .htaccess, но в сам файл не лез, так что он родной 0.9.6.1

404 — прописал на отдельную страницу с id отличным от главной. UTF-8 и алиасы корректные латиницей, вид URL — все пучком. Документы со статусом ОПУБЛИКОВАНО. Но вы дается стандартное Denwer’овское сообщение «Not Found. The requested URL /folder/ was not found on this server.»

Система: Windows, Denwer, ModX 0.9.6.1

Прилагаю содержимое .htaccess (комменты порезал):

Спасибо за подсказку. Она натолкнула меня на мысль написать для ModX конструкцию, которую использует WordPress.

Все работает без правки файла конфигурации Апача. Пользуйтесь.

p.s. Странно, что команда ModX не создала того же самого. Данные грабли носят тотальный характер.

иногда бывает так что мод_рерайт включен но все равно не работает.

RewriteEngine on
Options +FollowSymlinks (важная строка в этом случае)
RewriteBase /
RewriteCond % !-f
RewriteCond % !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

p.s. (от модератора) первое предупреждение на счет кодировки. подробности.

Проблема с Friendly URLs

Что не делаю.. все равно получаю ощибку 404. Даже если использовать SEO (Google) Friendly URLs или Friendly urls без mod_rewrite

В настройках апач mod_rewrite вкл. И вроде как работает так как переадресация типа domain.com -> www.domain.com выполняется

Где и в чем может быть ошибка

Источник

Использование дружественных URL

Вы можете получить дружественные URL-адреса, полностью работающие менее чем за две минуты, выполнив простой четырехэтапный процесс.

1) Рабочий образец .htaccess ¶

MODX предоставляет файл ht.access для редактирования в соответствии с настройками вашего сервера. Он находится в корне сайта MODX. Этот файл будет игнорироваться сервером, пока вы не переименуете его или (лучше) скопируете его в файл с именем .htaccess . Всякий раз, когда браузер запрашивает страницу, сервер проверяет файл с именем .htaccess , который может содержать информацию о том, как должны обрабатываться различные URL-адреса.

Файл .htaccess может находиться в любом месте над установкой MODX, но обычное расположение находится в корне сайта MODX (вместе с файлом ht.access , а также каталогами assets , manager и connectors , как показано на рисунке ниже). Для большинства установок вам не нужно вносить какие-либо изменения в файл, чтобы заставить работать FURL. Есть одно изменение, которое вы должны сделать, но сначала включите FURL, и мы обсудим это изменение в конце этой страницы.

Вот файл ht.access , который поставляется с одной версией MODX (ваша версия может немного отличаться).

Вы также можете поместить файл в /htdocs или /public_html или в то, что использует ваш сервер, если он находится в корневом каталоге MODX или выше.

Имейте в виду, что некоторым хостам нравится писать собственный .htaccess чуть выше уровня сайта, но если ваш .htaccess находится в корне сайта MODX, он должен работать нормально. Если ваш хост поместил файл .htaccess в корень сайта MODX, возможно, вам придется вставить код из файла MODX ht.access ниже кода хоста в этом файле. Обязательно сделайте резервную копию файла хоста первым! Таким образом, вы можете восстановить его, если дела пойдут плохо.

Строка RewriteBase должна заканчиваться на ‘/’ для корневых установок. RewriteBase для установки подкаталога может быть введен как: RewriteBase / subdirectoryName / , хотя обычно это необходимо только для установок localhost . Строка RewriteBase почти всегда должна заканчиваться косой чертой.

2) Настройка MODX Revolution¶

Затем измените настройки в области «Дружественные URL» системных настроек MODX (см. Следующее изображение). В MODX 2.3 щелкните значок шестеренки в правом верхнем углу и выберите «Системные настройки». В более ранних версиях перейдите в Система -> Настройки системы . В поле «Поиск по ключу» в правом верхнем углу сетки введите «friendly» (без кавычек) и нажмите ‘Ввод’. Это отобразит все настройки Friendly URL. Главное, что вы хотите, это в нижней части: использовать дружественные URL ( friendly_urls ). Дважды щелкните «Нет» и измените его на «Да».

Если вы не видите все настройки MODX ЧПУ, просто измените раскрывающийся список «Область» (второй список) в фильтре поиска на ‘Дружественные URL’, как я это сделал.

Вы не найдете friendly_url_prefix и friendly_url_suffix среди настроек на изображении ниже — они устарели, префикс и суффикс теперь определяются Типами контента и container_suffix (для контейнерных ресурсов с типами контента, имеющими mime_type со значением ‘text/html’). Параметр «Контейнерный суффикс» по умолчанию теперь «/», что приводит к URL-адресам ресурсов контейнера, а не к типу содержимого контейнера (другими словами, URL-адреса ресурсов, помеченных как контейнеры, будут ‘/’ вместо чего-то вроде ‘.html’). Если вы хотите, чтобы ваши контейнерные ресурсы отображались как их тип контента (например, ‘.html’), удалите ‘/’ из этого параметра. Если у вас есть проблемы с пакетами, которые используют суффикс контейнера для ЧПУ (например, Статьи), вернуть эту настройку «/».

Параметр Использовать дружественный путь псевдонима (use_alias_path) позволяет сайту отображать структуры каталогов. Если для этого параметра установлено значение «Нет», все документы на сайте будут отображаться в URL-адресах, как если бы они находились непосредственно вне корня, независимо от путей. Если для этого параметра установлено значение «Да» (по умолчанию), вы увидите полный путь к текущей странице в URL-адресах.

friendly_alias_urls настройка была удалена в MODX 2.1+. Включение friendly_urls подразумевает, что вы используете friendly_alias_urls в 2.1+, и эта настройка больше не нужна.

3) Измените ваш шаблон(ы)¶

Убедитесь, что у вас есть следующий тег в разделе head всех ваших шаблонов. Если у вас есть только один контекст (например, ‘web’), вы обычно можете не указывать восклицательный знак для ускорения скорости загрузки страниц:

4) Очистить кеш сайта¶

Самый простой способ воспользоваться ЧПУ — это позволить MODX создавать ссылки, используя теги ссылок, описанные на этой странице: синтаксис ссылок тегов. Создавать ссылки на различные ресурсы легко, если привязать их к тегу ссылки ниже (где ‘1’ — идентификатор ресурса страницы, на которую вы хотите перейти). Это дает дополнительное преимущество, заключающееся в возможности перемещать ресурсы по веб-проекту без необходимости исправлять кучу неработающих ссылок, поскольку MODX просто обновляет ссылки, созданные таким образом, автоматически.

5) Конвертируйте WWW ЧПУ в без-WWW или наоборот¶

Ранее мы упоминали одно изменение, которое вы всегда должны вносить в файл .htaccess , когда у вас работают ЧПУ. Это касается URL, которые начинаются с ‘www’ (или нет). Пользователь может получить доступ к большинству сайтов с доменным именем или доменным именем, перед которым стоит ‘www’»’. Вы всегда должны конвертировать URL в один или другой. Причины сложны, но если вы этого не сделаете, на вашем сайте могут произойти странные вещи. Например, пользователи, которые вошли в систему, могут внезапно потерять этот статус.

Исправить это действительно легко. В приведенном выше коде файла .htaccess вы увидите два раздела, оба закомментированы. Один меняет не-www URL-адреса на www-URL-адреса, а другой — наоборот. Решите, какой из них вы хотите, и просто раскомментируйте раздел, который делает это, удалив знак ‘#’ в начале каждой строки. Будьте осторожны, вы будете раскомментировать только три строки.

Например, чтобы удалить ‘www.’ Из всех запросов на сайт с доменом ‘yoursite.com’ измените этот раздел:

он должен в итоге выглядеть так:

Обратите внимание, что мы не раскомментировали первую строку. Здесь указан настоящий комментарий. Раскомментирование заставит сервер обращаться с ним как с кодом, и это может привести к сбою сервера.

Сервер может быть довольно чувствительным к тому, что находится в файле .htaccess . Всегда делайте резервную копию рабочего файла .htaccess перед его изменением. Таким образом, если ваша работа приводит к сбою сервера, вы можете просто скопировать сохраненную версию обратно в .htaccess и начать заново.

Источник

Оцените статью