【问题标题】:Simple oblivious redirect not working?简单的无意识重定向不起作用?
【发布时间】:2013-06-03 19:49:34
【问题描述】:

我的目标是将访问 mydomain.com/foo 重定向到 mydomain.com/bar.html: 1- 用户无法判断 hs 被重定向到哪里 2- url 很漂亮,既不包含文件名,也不包含扩展名或参数。

根据我发现的一系列示例,我的 .htaccess 文件的内容是:

Options +FollowSymLinks

RewriteEngine  On
RewriteRule    ^/foo$  /bar.html [PT]

这不起作用。对 mydomain.com/foo 的请求会出现 404 错误。

虽然我希望能简短地解释一下为什么上面的例子不起作用,但我更愿意得到指导,以获得有关使用重写引擎的正确教程;我发现的所有内容似乎都假设读者已经了解各个方面,例如语法及其含义或标签([PT]、[R]、[L]...?)。

提前致谢!

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect url-rewriting


    【解决方案1】:

    试试这个:

    Options +FollowSymLinks
    
    RewriteEngine  On
    RewriteRule    ^/?foo$  /bar.html [PT]
    

    如果它有效,请告诉我!

    【讨论】:

    • 它不起作用。发生的情况是 /foo 被重定向到 foo.html 和 /bar 到 /bar.html 而像 /tup 这样不存在的文件名给出 404
    • 你能把rewrite log放在这里吗?
    【解决方案2】:

    试试这个代码:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^foo/?$ /bar.html [L,NC]
    

    【讨论】:

    • 与死神建议的行为相同。
    • 在浏览器中直接输入:http://domain.com/bar.html会发生什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2019-02-02
    相关资源
    最近更新 更多