【问题标题】:How to redirect from URL with a trailing dot?如何从带有尾随点的 URL 重定向?
【发布时间】:2013-09-30 10:57:06
【问题描述】:

这里有一个 Drupal。在那个 Drupal 中是另一个 Drupal 的文件夹。因此,在另一个 Drupal 的 .htacces 中,基础被重写为 Rewrite Base /another-drupal,一切都很好。

现在,通过 URL adrupal.com/another-drupal. 向客户发送打印的邀请以查看另一个 Drupal,就像现在 URL 位于句子的末尾,点看起来像是 URL 的一部分。如何将输入带有尾随点的 URL 的所有用户重定向到不带尾随点的正确 URL?我必须在哪个 .htaccess 中这样做?父母的 Drupal .htacess?还是在另一个 Drupal 的 .htaccess 中?

我已经尝试过这种方法:Redirect url to home page with trailing dots,但没有奏效。是不是因为在那个例子中他们有两个点?

【问题讨论】:

  • @user1281385 当 URI 路径在通过重写引擎之前被规范化时,点会被删除,这就是为什么你需要匹配实际请求的原因。

标签: .htaccess url redirect drupal-7


【解决方案1】:

试试:

RewriteCond %{THE_REQUEST} \ /([^\?\ .]*)\.(?:\?|\ |$)
RewriteRule ^ /%1 [L,R=301]

【讨论】:

  • 试过了!适用于“adrupal.com/another-drupal/.”(斜线点),但不适用于仅点...
  • 对不起!再次尝试,这次是在父 Drupal 的 .htaccess 中,现在可以了!我第一次在另一个 Drupal 的 .htaccess 中尝试...
【解决方案2】:

看起来你只需要这个简单的规则:

RewriteRule ^(.+?)\.$ $1 [L,R=301]

这将从任何 URL 中删除尾随句点(点)。

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 2020-05-03
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2012-03-31
    • 2021-12-25
    相关资源
    最近更新 更多