【问题标题】:ISAPI Rewrite RewriteRule for domain root username URLs域根用户名 URL 的 ISAPI Rewrite RewriteRule
【发布时间】:2011-12-19 07:24:25
【问题描述】:

我正在尝试使用 ISAPI Rewrite 创建一个 root 用户名。

例如www.mysite.com/myusername

我希望这个重定向到...

/user.asp=myusername

那么如果没有找到用户名就根据/folder/加载内容

也许最好检查一个带有folder.asp扩展名的文件是否存在,如果不存在则重定向到user.asp?username=folder

我知道最简单的方法是编写 .htaccess 以供参考:

www.domain.com/user/username

但我真的想要根 URL?

提前致谢,

克里斯

【问题讨论】:

    标签: asp-classic url-rewriting seo isapi-rewrite


    【解决方案1】:

    我知道最简单的方法是编写 .htaccess 以供参考:

    我猜你的 Isapi Rewrite 模块是 Helicon's 3.0
    使用重写模块检查文件/文件夹是否存在比使用脚本语言更有效。
    编写与您的用户名格式兼容的规则(有效字符等,请参阅 cmets)。
    检查匹配的部分。如果它不是存在的文件/文件夹,请进行重定向。

    RewriteEngine On
    # if file is not exists
    RewriteCond %{DOCUMENT_ROOT}/$1 !-f
    # if folder is not exists
    RewriteCond %{DOCUMENT_ROOT}/$1 !-d
    # From start to end, "^(\w+)[/]+$" only matches with one or more alphanumeric characters and "_".
    # Alternatively can end with one or more slashes.
    # Change [R = 302, L] to [L] if you want make a rewrite instead of redirect.
    RewriteRule ^(\w+)[/]*$ /user.asp?username=$1 [R = 302, L]
    

    【讨论】:

    • 这真是太棒了!但是有没有办法不重定向到 /user.asp?username=$1 URL 而只是显示内容?
    • 哦,其实我刚刚意识到了 cmets!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    相关资源
    最近更新 更多