Переписать URL с Joomla на IIS7 - PullRequest
       14

Переписать URL с Joomla на IIS7

5 голосов
/ 22 февраля 2009

У меня Joomla 1.5.9 работает на IIS7. Сейчас я экспериментирую с настройками SEO на странице глобальной конфигурации Joomla.

Сначала я поигрался с URL-адресами, удобными для поисковых систем (это избавляет от части URL-адресов, связанной с запросами); это прекрасно работает.

Я также попытался включить «Использовать Apache mod_rewrite». Я установил «Модуль перезаписи URL-адресов Microsoft для IIS 7.0» и добавил файл web.config согласно http://learn.iis.net/page.aspx/527/joomla-on-iis. При переходе по ссылкам меню это работает, так как я больше не вижу index.php в URL. Адресная строка обновляется до того, что выглядит как правильный URL, но отображаемое содержимое всегда соответствует домашней странице. Я пробовал как в IE, так и в Google Chrome с одинаковым результатом. Обновление страницы после загрузки не имеет значения.

Я попытался перезапустить IIS7, это не имело значения.

Редактировать: После того, как я последовал предложенному ниже предложению (следуя инструкциям на http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx: включил быстрый cgi, изменил php.ini и импортировал правила перезаписи вместо того, чтобы помещать их в web.config сам), теперь я получите 404 вместо того, чтобы просто показывать содержимое домашней страницы. URL все еще кажется правильно переписанным. Итак, другое поведение, но все равно не работает. Я не уверен, что это полезная информация, но эти два поля показаны на странице 404: Запрашиваемый URL http://localhost:80/joomla_course/seasonal-specialties Физический путь C: \ inetpub \ wwwroot \ joomla_course \ сезонные специальности Должен ли физический путь быть не переписанным URL? Или ожидается, что так будет?

Редактировать 2: Ого! Я нашел кого-то с той же проблемой, опубликованной на форумах Joomla: http://forum.joomla.org/viewtopic.php?f=543&t=364706&p=1598137#p1598137. Там тоже нет ответа.

Есть идеи, как это диагностировать (или, что еще лучше, исправить :))?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 февраля 2009

Я получил это на работу сейчас. Ключ был в том, чтобы убедиться, что FastCGI используется для запуска php (согласно http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70), и чтобы убедиться, что «Использовать Apache mod_rewrite» включен. Если «Использовать Apache mod_rewrite» отключено, но правила перезаписи присутствуют в IIS7, то отображается HTML-код, но нет стилей или изображений.

Требование использования FastCGI странно (и противоречит тому, что предлагается в http://maximumpcguides.com/windows-vista/how-to-create-a-windows-vista-iis7-mysql-php-web-server, что я и использовал для настройки php в первую очередь). Кажется, что все работает, когда не используется FastCGI, за исключением перезаписи URL.

Похоже, что либо импорт правил (как предложено в http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx), либо добавление их вручную в файл web.config (как предложено в http://learn.iis.net/page.aspx/527/joomla-on-iis) будет работать.

0 голосов
/ 24 февраля 2009

Похоже, что что-то не так с правилами в web.config. Если исходить из комментария к статье, которую вы связали, то вы не единственный, у кого есть эта проблема. Я бы удалил web.config и затем следовал инструкциям здесь .

...