目前很多源码都是.htaccess伪静态规则,而IIS 6.0一般是支持httpd.ini的规则,现在利用ISAPI_Rewrite 3.1 Full注册版可以很好的让IIS 6.0支持.htaccess伪静态规则。
软件简介:
现在网上所用的ISAPI_Rewrite,一般要么是用2.9的完全版,要么是用3.0的Lite版。
Lite版只支持全局的httpd.conf的,不支持分布式的httpd.ini的。
只有Full版才支持分布式httpd.ini。也就是说,只要安装了ISAPI_Rewrite 3.1 Full,然后再在全局的httpd.conf里写入这么一段内容:
# Helicon ISAPI_Rewrite configuration file
# Version 3.1
AccessFileName httpd.ini
RewriteLogLevel 0
就可以各个web文件夹下的httpd.ini分别控制URL重写了。
或者不写上面的语句
那么在 IIS下 需要配置的伪静态文件为 .htaccess而非 httpd.ini
可以实现 多站点 的分别单独伪静态化。
需要注意的是 请注意 ntfs格式磁盘的 权限问题。
即 .htaccess 文件的 权限问题。

Read the rest of this entry

LNMP是很优秀的WEB架构,但是APACHE的REWRITE规则在NGINX下无法使用,这个工具根据可以帮助我们进行 REWRITE       规则转换。

赶快收藏下吧!apache rewrite规则转换nginx rewrite

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

有了这个工具太简单了

WordPress URL Rewrite 在 windows IIS下最完美的解决方案。
这种方法适合能自己管理服务器或者和你的空间商搞好关系,要他们帮你安装个免费的ISAPI扩展插件,直接就可以使用 WordPress 的永久固定链接。
ISAPI插件地址:http://www.binaryfortress.com/wordpress-url-rewrite/
IIS下演示 看: http://blog.tensay.com

使用的是www.wangku.org 的美国服务器 网酷美国主机 美国空间完美支持 wordpress

, , , ,

Isapi_rewrite和iirf都用这个规则就可以。

[ISAPI_Rewrite]

##### NOTE: Replace /shop/ with the relative web path of your catalog in the “Rewrite Base” line below:

Options +FollowSymLinks
Options FollowSymLinks
AllowOverride All
RewriteEngine On
RewriteBase /

# From Ultimate SEO URLs
RewriteRule ^(.*)-p-(.*).html /index.php?main_page=product_info&products_id=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-c-(.*).html /index.php?main_page=index&cPath=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-m-([0-9]+).html /index.php?main_page=index&manufacturers_id=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-pi-([0-9]+).html /index.php?main_page=popup_image&pID=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-pr-([0-9]+).html /index.php?main_page=product_reviews&products_id=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-pri-([0-9]+).html /index.php?main_page=product_reviews_info&products_id=$2&%{QUERY_STRING} [L]

# For Open Operations Info Manager
RewriteRule ^(.*)-i-([0-9]+).html /index.php?main_page=info_manager&pages_id=$2&%{QUERY_STRING} [L]

# For dreamscape’s News & Articles Manager
RewriteRule ^news/?$ index.php?main_page=news&%{QUERY_STRING} [L]
RewriteRule ^news/rss.xml /index.php?main_page=news_rss&%{QUERY_STRING} [L]
RewriteRule ^news/archive/? /index.php?main_page=news_archive&%{QUERY_STRING} [L]
RewriteRule ^news/([0-9]{4})-([0-9]{2})-([0-9]{2}).html /index.php?main_page=news&date=$1-$2-$3&%{QUERY_STRING} [L]
RewriteRule ^news/archive/([0-9]{4})-([0-9]{2}).html /index.php?main_page=news_archive&date=$1-$2&%{QUERY_STRING} [L]
RewriteRule ^news/(.*)-a-([0-9]+)-comments.html /index.php?main_page=news_comments&article_id=$2&%{QUERY_STRING} [L]
RewriteRule ^news/(.*)-a-([0-9]+).html /index.php?main_page=news_article&article_id=$2&%{QUERY_STRING} [L]

# All other pages
# Don’t rewrite real files or directories
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*).html /index.php?main_page=$1&%{QUERY_STRING} [L]

, , , ,

Drupal  (all versions)

RewriteCond %{HTTP_HOST} ^(www\.yourdomainname\.com).*$ [I]
RedirectRule ^/(.*)$ http://yourdomainname.com/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(?!favicon.ico$)([^?]*)(?:\?(.*))?$ /index.php?q=$1&$2 [L]

WordPress (all versions)

RewriteCond %{HTTP_HOST} ^(yourdomainname\.com).*$ [I]
RedirectRule ^/(.*)$ http://www.yourdomainname.com/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php/$1 [L]


IIS下rewrite存在的主要问题还是中文分类和tag的问题,不是很好解决,上面的规则在英文站点下没有任何问题。
, , , ,

IIS下 wordpress也可以有完美的rewrite
包含三种常用永久链接规则:

  • /post/%post_id%.html
  • /%year%/%monthnum%/%day%/%postname%/
  • /%year%/%monthnum%/%day%/%postname%.html
  • iis下 isapi_rewrite的规则

    Read the rest of this entry

    , , , ,

    // Fix for IIS, which doesn't set REQUEST_URI
    if ( empty( $_SERVER['REQUEST_URI'] ) ) {

    // IIS Mod-Rewrite
    if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
    }
    // IIS Isapi_Rewrite
    else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
    }
    else
    {
    // Use ORIG_PATH_INFO if there is no PATH_INFO
    if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
    $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];

    // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
    if ( isset($_SERVER['PATH_INFO']) ) {
    if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
    $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
    else
    $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
    }

    // Append the query string if it exists and isn't null
    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
    $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
    }
    }
    }

    或者这里 看里面的程序是这样写的
    可以参考这里来设置

    * Instructions: http://neosmart.net/blog/2006/100-apache-compliant-request_uri-for-iis-and-windows/
    * Support: http://neosmart.net/forums/forumdisplay.php?f=17
    * Product URI: http://neosmart.net/dl.php?id=7

    Read the rest of this entry

    , ,

    RewriteCond %{HTTP_HOST} ^tensay\.com$ [I]
    RedirectRule ^/(.*)$ http://www.tensay.com/$1
    # 上面这两行是我的网站自己设置的 全站重定向不带www的自动转到带www的域名
    RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)\?*(.*)$ $1/archiver/index.php?$2&$4 [L]
    RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay.php?fid=$2&page=$3&$4 [L]
    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3&$4 [L]
    RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space.php?$2=$3&$4 [L]
    RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag.php?name=$2&$3 [L]
    RewriteRule ^/(space|network)-(.+)\.html$ /$1.php?rewrite=$2 [L]
    RewriteRule ^/(space|network)\.html$ /$1.php [L]
    RewriteRule ^/([0-9]+)$ /space.php?uid=$1 [L]

    就是这样,搞了一晚上了,终于把iirf的规则弄的差不多了,以后边用边学。
    规则文件格式基本照搬ISAPI Rewrite,稍作修改
    RewriteRule [源URL正则条件] [目的URL]
    ISAPI Rewrite与IIRF的区别就在[目的URL],ISAPI Rewrite的要转义,而IIRF不用转义。
    如果网上有现成的ISAPI Rewrite的规则可以直接复制过来,将[目的URL]中的反斜杠(\)一个个删除就可以用在IIRF中用了。
    知道这个之后,你就可以随便在网上与人交流,按ISAPI Rewrite交流,最后把转义符(\)删掉就行了。

    , , ,

    现在我用的是IIRF 2.0(Ionics Isapi Rewrite Filter),2.1只出到测试版。
    搞了一晚上,一加载网站就不工作了。先搜集点资料,过几天单独弄个机器测试,感觉跟plesk有关系,影响筛选的加载,用isapi_rewrite也一样,单独添加dll文件的方式行不通,只能用安装文件。

    Read the rest of this entry

    , ,

    我就把整个中文标题作为网址rewrite,这样搜索引擎对我很友好。
    wordpress2.9对iis的支持局限性还是很大的,2008的iis7可能会好一点,但是实际效果还是不如linux+apache的.htaccess效果好。
    搜索引擎对网址中的文字好像更喜欢。
    在iis和linux直接换来换去,rewrite方式也变来变去,还是linux下好。
    现在的wordpress如果要做seo一定要用linux.
    买空间推荐www.wangku.org 的 三款linux机器。 价格便宜 速度快。

    , , ,