【问题标题】:Is it possible to redirect traffic from page that doesn't exist to existing page with .htaccess?是否可以使用 .htaccess 将流量从不存在的页面重定向到现有页面?
【发布时间】:2009-10-21 04:24:13
【问题描述】:

我要解决的问题是我有一个文件夹,其名称包含有趣的大写字母,例如测试页。我希望所有对我的域的请求,在所有版本的大写字母中,都重定向到该页面。

我尝试了一个简单的:

重定向/testpage http://www.mydomain.com/TeStPage

但这让我的网站崩溃了,因为它说“非 URL”。

如何进行 .htaccess 重定向以处理所有大小写的情况以重定向到我的 /TeStPage url?

我在 Apache 的文档中搜索了 .htaccess 的语法和规则,但找不到很多细节。有人能给我指出一个很好的教程/参考文件,我可以用它来深入了解 .htaccess 命令吗?

谢谢。

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    试试这个mod_rewrite 规则:

    RewriteEngine on
    RewriteCond $0 !=TeStPage
    RewriteRule ^testpage$ /TeStPage [NC,R=301,L]
    

    【讨论】:

    • 感谢这个例子 Gumbo。我稍后会尝试这个,当我下课回来时,我会告诉你结果如何。
    • 顺便说一句,Gumbo,即使我将此 .htaccess 文件放在 httpdocs 根目录中,而不是我希望所有请求重定向到的目录中,这是否可行?
    【解决方案2】:

    您是否查看了http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html 的 mod_rewrite 规范?

    以典型的 Wordpress URL 重写为例,它将所有指向不存在的文件/文件夹的请求重定向到 index.php,并传入原始请求 URL:

    <IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase / 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    </IfModule> 
    

    【讨论】:

    • 感谢 Remus 的链接。我没有检查 mod_rewrite 规范,因为我不知道我能做到这一点。现在回想起来,我意识到这是一个愚蠢的疏忽……但我忽略了这样做。
    猜你喜欢
    • 1970-01-01
    • 2010-10-07
    • 2022-01-22
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 2016-07-20
    相关资源
    最近更新 更多