Tôi đang sử dụng ManagedFusion Url Rewriter và một trang lỗi tùy chỉnh trên blog tôi.
Trình ghi đè url của ManagedFusion yêu cầu tệp có tên là ManagedFusion.Rewriter.rules bắt chước .htaccess, tôi phải chơi với nó một chút để làm đúng, vì vậy tôi sẽ bao gồm những gì tôi hiện có trong mình:
# Managed Fusion Url Rewriter
# http://managedfusion.com/products/url-rewriter/
#
# Developed by: Nick Berardi
# Support: [email protected]
#
RewriteEngine on
#
# Place Rules Below
#
# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]
# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]
# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]
# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1
Quy tắc xử lý các url đẹp, xóa www và chuyển hướng một số url cũ từ blog trước đó.
Tôi cũng có tệp "404.php" mà tôi đã thiết lập làm trang lỗi 404 tùy chỉnh của mình. Điều này là không cần thiết cho các url đẹp, nhưng sẽ cho phép bạn sử dụng trang 404 wordpress trong các chủ đề tùy chỉnh. Dưới đây là các nội dung:
<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
Tôi hy vọng điều đó sẽ hữu ích. Nó đã làm việc rất tốt cho tôi cho đến nay.
-Rob
Cập nhật: Tôi chỉ đăng tải một blog article on my experience using WordPress on IIS7
Nguồn
2008-12-31 23:13:36
Tôi hiện đang chờ để tìm hiểu lý do tại sao cài đặt 404 tùy chỉnh của tôi không hoạt động nhưng sau khi cài đặt đã được sửa, tôi sẽ thực hiện việc này. Cảm ơn! –