防止尾随斜杠会导致无限循环

时间:2016-04-11 13:25:25

标签: apache .htaccess redirect

我有一个文件夹www.example.com/page1/,用于存储www.example.com/page1的内容。如果page1不存在,我希望我的自定义404 page能够处理page1的生成,因此我必须在/结束时使用RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301, L] 网址,或任何网址的末尾。我已经尝试过类似问题的答案,但它们会导致无限循环。如何防止斜杠和无限重定向循环?

我尝试了以下内容:

RewriteBase /
RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]

Options -Multiviews -Indexes
RewriteEngine On
DirectorySlash Off

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/$
RewriteRule ^ /%1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.1.6.RELEASE</version>
  </dependency>

1 个答案:

答案 0 :(得分:0)

我现在正在工作。用于隐藏页面扩展名的代码导致无限循环。