【问题标题】:.htaccess subdomain to directory: problem with trailing slash.htaccess 子域到目录:斜杠问题
【发布时间】:2011-06-28 20:19:02
【问题描述】:

我的htaccess 文件有问题。文件的最后一部分应该重定向 filip.novotny.je/subdom/filip/。 当 URL 以斜杠结尾时,一切都很好,但如果不是,则会在地址栏中显示丑陋的子域目录。有谁知道为什么会这样?

在这里自己尝试一下:with x without 斜杠

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.novotny.je$ [NC]
RewriteRule ^(.*)$ http://novotny.je/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.filip.novotny.je$ [NC]
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^novotny.je$ [nc]
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [r=301]

# cele domeny (aliasy)
# RewriteCond %{REQUEST_URI} !^/domains/
# RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
# RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
# RewriteRule (.*) /domains/%2/$1 [L]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) /subdom/%2/$1 [L]

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    我最近遇到了一个非常相似的问题,但在 IIS7 中。这是我的分辨率,转换为 .htaccess 语法。我希望它对你有用。

    RewriteCond %{REQUEST_FILENAME}  -d
    RewriteRule ^(.+[^/])$  $1/  [R]
    

    基本上,条件是请求是一个目录,并且重写匹配所有不带斜杠的请求,并以斜杠输出。

    【讨论】:

      【解决方案2】:

      只需添加一个重写规则,在每个 url 后添加一个斜杠。类似的东西

      RewriteCond %{REQUEST_URI}  ^([^+?&]+[^/])$
      RewriteRule ^([^+?]+[^/])$ $1/  [R,L]
      

      在您给出的所有规则之前添加它。这会将所有网址从a.com/b 转换为a.com/b/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 2016-07-14
        • 2011-08-30
        • 2016-08-24
        • 1970-01-01
        • 2012-03-25
        相关资源
        最近更新 更多