【问题标题】:Access Drupal7 site in a subdirectory without trailing slash访问子目录中的 Drupal7 站点,不带斜杠
【发布时间】:2013-08-07 04:05:44
【问题描述】:

我有一个 Drupal7 站点托管在一个子目录中,并且可以通过目录路径和尾部斜杠访问该站点:

http://mydomain.com/dir1/dir2/ (with the trailing slash).

我正在寻找不带斜杠的访问此网站:

http://mydomain.com/dir1/dir2

我尝试使用 .htaccess 文件中的 DirectorySlash Off。但是在没有斜杠的情况下访问站点时会出现访问禁止错误。

然后我在 ../dir1 中创建了一个新的 .htaccess 文件,并尝试在用户访问站点时重写 url 以获取主页内容而不使用尾部斜杠。

<IfModule mod_rewrite.c>
    DirectorySlash Off
    RewriteEngine on
   Options +FollowSymLinks
   RewriteRule ^dir2$ dir2/index.php
</IfModule>

我又遇到了同样的问题“禁止访问”。设置这些规则后,Drupal root 中的 .htaccess 文件有什么可做的吗?

知道如何访问托管在子目录中的 Drupal 站点而不使用尾部斜杠吗?

【问题讨论】:

    标签: php .htaccess drupal-7


    【解决方案1】:

    试试这个。但我没有测试过。

    这里的技巧基本上是使用 301 重定向来删除所有 URL 末尾的尾部斜杠。放入 .HTACCESS 的代码

    #remove trailing slashes
    RewriteCond %{HTTP_HOST} !^\.domain\.com$ [NC]
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
    

    还有一个 Drupal 插件。根据他们的描述,它看起来符合您的要求。试一试。

    https://drupal.org/project/globalredirect

    【讨论】:

    • 谢谢 Achintha。我认为这适用于站点域。我正在寻找的是,当我们访问目录时如何删除斜杠。喜欢mydomain.com/foo/bar。我们可以在 .htaccess 文件中使用“DirectorySlash Off”来删除尾部斜杠。但它给出了“禁止访问”错误。
    • 你检查过这个吗?但它的工作 Apache 2.4+ stackoverflow.com/a/9409661/1465973
    • 是的。此设置也出现 403 错误(禁止访问!)。
    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多