【问题标题】:Redirect to a webpage when URL points to directory (using .htaccess)当 URL 指向目录时重定向到网页(使用 .htaccess)
【发布时间】:2011-10-13 10:29:33
【问题描述】:

我有以下问题。我想重定向所有指向特定目录的请求(.htaccess 放置在其中)。简而言之,我想使用以下规则:

1.

www.domain.com/directoryThatContainsHtaccess
=>
www.domain.com/directoryThatContainsHtaccess/specificPage.htm

2.

www.domain.com/directoryThatContainsHtaccess/
=>
www.domain.com/directoryThatContainsHtaccess/specificPage.htm

3.

www.domain.com/directoryThatContainsHtaccess/somePage.htm
=>
no redirection

我尝试了以下代码,但没有任何运气(我最终出现了重定向循环):

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^$ http://www.domain.com/directoryThatContainsHtaccess/specificPage.htm [R=301,L]

我认为^$ 不正确。

感谢您的帮助。

【问题讨论】:

  • ^$ 是没有 URL 的正确模式(即目录命中)。 #2 应该可以工作......但 #1 不应该(因为它没有明确声明为目录(没有尾部斜杠/))。

标签: apache http .htaccess url-rewriting url-routing


【解决方案1】:

你必须用RewriteCond %{REQUEST_FILENAME} !-f为文件名设置一个条件,试试下面的:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule .* specificPage.htm [R=301,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多