URL Rewrite với Joomla trên IIS7


5

Tôi có Joomla 1.5.9 chạy trên IIS7. Bây giờ tôi đang thử nghiệm Cài đặt SEO từ trang cấu hình toàn cầu của Joomla.

Trước tiên, tôi đã xem xét các URL thân thiện với công cụ tìm kiếm (loại bỏ phần truy vấn của URL); hoạt động tốt.

Tôi cũng đã cố gắng bật "Sử dụng Apache mod_rewrite". Tôi đã cài đặt "Microsoft URL Rewrite Module cho IIS 7.0" và thêm web.config theo http://learn.iis.net/page.aspx/527/joomla-on-iis. Khi nhấp vào liên kết menu, điều này dường như làm việc trong đó tôi không còn thấy index.php trong URL. Thanh địa chỉ sẽ cập nhật những gì xuất hiện giống như URL phù hợp, nhưng nội dung được hiển thị luôn là nội dung của trang chủ. Tôi đã thử cả trong IE và Google Chrome với cùng một kết quả. Làm mới trang sau khi tải không có sự khác biệt.

Tôi đã thử khởi động lại IIS7, nó không tạo sự khác biệt.

Chỉnh sửa: Sau khi tôi làm theo đề xuất bên dưới (hãy thực hiện theo hướng dẫn tại http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx: bật cgi nhanh, sửa đổi php.ini và nhập quy tắc viết lại thay vì đặt chúng trong web.config), bây giờ tôi nhận được 404 thay vì chỉ hiển thị nội dung của trang chủ. URL vẫn xuất hiện để được viết lại chính xác. Vì vậy, hành vi khác nhau nhưng vẫn không hoạt động. Tôi không chắc đây là thông tin hữu ích, nhưng hai trường này được hiển thị trong trang 404: URL được yêu cầu http://localhost:80/joomla_course/seasonal-specialties Đường dẫn vật lý C: \ inetpub \ wwwroot \ joomla_course \ seasonal-specialty Đường dẫn vật lý là 'không viết lại 'URL? Hay là nó trông như thế này?

Chỉnh sửa 2: Oho! Tôi đã tìm thấy một người có cùng vấn đề được đăng trên diễn đàn Joomla: http://forum.joomla.org/viewtopic.php?f=543&t=364706&p=1598137#p1598137. Không có câu trả lời ở đó, mặc dù.

Bất kỳ ý tưởng nào về cách chẩn đoán (hoặc thậm chí tốt hơn, sửa lỗi :)) này?

Cảm ơn!

1

Tôi đã làm việc này ngay bây giờ. Điều quan trọng là để đảm bảo FastCGI được sử dụng để chạy php (theo http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70) và đảm bảo rằng "Sử dụng Apache mod_rewrite" được bật. Nếu "Sử dụng Apache mod_rewrite" bị tắt nhưng các quy tắc viết lại có trong IIS7, thì HTML hiển thị nhưng không có kiểu dáng hoặc hình ảnh nào.

Yêu cầu sử dụng FastCGI là lạ (và mâu thuẫn với những gì được đề xuất trong http://maximumpcguides.com/windows-vista/how-to-create-a-windows-vista-iis7-mysql-php-web-server, đó là những gì tôi đã sử dụng để thiết lập php ngay từ đầu). Mọi thứ dường như hoạt động khi không sử dụng FastCGI, ngoại trừ việc viết lại URL.

Dường như việc nhập quy tắc (như được đề xuất trong http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx) hoặc thêm chúng theo cách thủ công vào tệp web.config (như được đề xuất trong http://learn.iis.net/page.aspx/527/joomla-on-iis) sẽ hoạt động.


0

Có vẻ như đã xảy ra sự cố với quy tắc trong web.config. Chỉ cần đi từ một bình luận trên bài viết bạn liên kết bạn không phải là người duy nhất có vấn đề này. Tôi sẽ xóa web.config và sau đó làm theo các bước được nêu here.

  0

Điều đó có vẻ đầy hứa hẹn nhưng không hiệu quả. Bây giờ tôi nhận được 404 khi tôi nhấp vào liên kết. Các url vẫn nhìn đúng (như ban đầu họ đã làm). 404 cho biết đường dẫn vật lý trông giống với URL (viết lại) - đó có phải là mong đợi không? 24 feb. 092009-02-24 02:59:13