Joomla в IIS 7: SEO дружественные URL не работают

  1. Joomla в IIS 7: SEO дружественные URL не работают
  2. Решение

Joomla в IIS 7: SEO дружественные URL не работают

Сценарий:

сценарий
Поскольку мы предоставляем услугу миграции Joomla для наших клиентов, нам иногда необходимо перенести сайт Joomla с сервера Linux на Windows. Будет сообщено о нескольких проблемах совместимости. Правила в файле .htaccess не будут работать на серверах Windows, что приведет к неправильной работе сайта. Вот шаги о том, как справиться с этими проблемами.

Решение

Чтобы это работало в IIS, необходимо создать файл web.config и соответствующие правила в .htaccess должны быть импортированы в тот же файл. Вот пример файла web.config. Скопируйте весь контент.

&lt;? xml version = "1.0&quot; encoding = "UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule> = "Правило безопасности" stopProcessing = "true"> <match url = " ^ (. *) $ "ignoreCase =" false "/> <условия logicGrouping =" MatchAny "> <add input =" {QUERY_STRING} "pattern =" mosConfig_ [a-zA-Z _] {1,21} (= | \% 3D) "ignoreCase =" false "/> <add input =" {QUERY_STRING} "pattern =" base64_encode. * \ (. * \) "IgnoreCase =" false "/> <add input =" {QUERY_STRING} " pattern = "(\ & lt; |% 3C). * script. * (\> |% 3E)" /> <add input = "{QUERY_STRING}" pattern = "GLOBALS (= | \ [| \% [0- 9A-Z] {0,2}) "ignoreCase =" false "/> <add input =" {QUERY_STRING} "pattern =" _ REQUEST (= | \ [| \% [0-9A-Z] {0,2 }) "ignoreCase =" false "/> </ condition> <action type =" CustomResponse "url =" index.php "statusCode =" 403 "statusReason =" Forbidden "statusDescription =" Forbidden "/> </ rule> < rule name = "Правило SEO"> <match url = "(. *)" ignoreCase = "false" /> <condition logicGrouping = "MatchAll"> <add input = "{REQUEST_FILENAME}" matchType = "IsFile" negate = " true "pattern =" "ignoreCase =" false "/> <добавить input = "{REQUEST_FILENAME}" matchType = "IsDirectory" negate = "true" pattern = "" ignoreCase = "false" /> <add input = "{URL}" negate = "true" pattern = "^ / index.php "ignoreCase =" false "/> <add input =" {URL} "pattern =" (/ | \ .php | \ .html | \ .htm | \ .feed | \ .pdf | \ .raw | / [^ .] *) $ "/> </ condition> <action type =" Rewrite "url =" index.php "/> </ rule> </ rules> </ rewrite> </system.webServer> </ configuration>

Итак, файл web.config готов. Теперь правила в .htaccess должны быть преобразованы в соответствии с IIS. В IIS6 вы можете использовать модуль ISAPI_REWRITE. Перейдите по адресу http://www.isapirewrite.com/ для его загрузки.

Если у вас есть IIS7, вот шаги, необходимые для преобразования этих правил.

X86-версия модуля URL Rewrite может быть загружена здесь: http://go.microsoft.com/?linkid=9722533

64-разрядную версию модуля перезаписи URL можно скачать здесь: http://go.microsoft.com/?linkid=9722532

Установите модуль, перезапустите диспетчер IIS. Выберите веб-сайт, на котором вы должны преобразовать правила (в категории «Сайты»). Вы увидите модуль «URL Rewrite» в IIS.

Открой это. Поскольку файл web.config уже создан с некоторыми предопределенными правилами, вы увидите его как входящие правила (по Именам - Правило безопасности и Правило SEO).

Вы можете преобразовать правила в файле .htaccess, открыв «Правила импорта» в категории «Входящие правила» на панели «Действия».

Выберите файл .htaccess и нажмите «Импорт». Вы увидите правила в разделе «Переписать правила» и преобразованные правила в опции «Преобразованные правила». Нажмите «Применить» на панели «Действия» с правой стороны, чтобы сохранить эти правила в файле web.config (если файл web.config не был создан, как упоминалось ранее, этот файл будет создан заново). Убедитесь, что в конверсии нет конфликтов. Смотрите Резюме в нижней части. Был конфликт, когда мы это сделали, это показано здесь. В таких случаях удалите все неподдерживаемые правила и нажмите «Применить».

Преобразование PHP в FastCGI

Мы сделали это с панели управления Plesk. Если у вас нет прав администратора, вам может потребоваться обратиться к администратору. Другие (Боги!) Читают дальше

Выберите домен, перейдите в настройки веб-хостинга.

Прокрутите вниз до Сервисов. Выберите поддержку PHP для запуска в качестве приложения FastCGI.

Заключительные шаги

Зайдите в интерфейс администратора Joomla. Доступ к глобальной конфигурации из главного меню. В настройках SEO убедитесь, что для следующих параметров установлено значение Да

Дружественные поисковой системе URL: Да

Использовать Apache mod_rewrite: Да

Готово, с этого момента ваш сайт Joomla должен работать так же гладко, как на сервере Linux. Расслабьтесь и наслаждайтесь!

Для получения дополнительной помощи вы можете связаться с нашей службой миграции Joomla Вот

Категория: Устранение неполадок, Windows

Lt;?
Quot; encoding = "UTF-8"?
Com/?
Com/?