找不到一个htaccess规则

分享于 

2分钟阅读

互联网

  繁體 雙語

问题:

我的htaccess里有这个,但不知道它是什么。 由于规则的本质,搜索并没有帮助。


RewriteCond %{REQUEST_URI}!(/$|.)


RewriteRule (.*) %{REQUEST_URI}/[R=301]



请大家解释一下它的用途?


回答 1:

如果URI不存在并且没有,那么在url中添加一个尾随的/,所以 https://example.org/test 将被重定向到 https://example.org/test/,所以将被重定向到,但是 https://example.org/test.html: https://example.org/test.case/folder 也将不会被重定向至 https://example.org/test.case/folder/ 因为它在URI中包含一个 .


## Do the following if the URI does not end with `/` or does not contain an `.`: 


## the. is relevant for file names like test.html, which should n 


RewriteCond %{REQUEST_URI}!(/$|.)



## Redirect it to the original URI with an added `/` and mark this as permanent:


RewriteRule (.*) %{REQUEST_URI}/[R=301]




回答 2:

没有验证,但使用了我在Apache重写中的经验,这种配置似乎是:

  • 匹配 URI ( 不是服务器,端口或者查询参数)的'路径'部分,例如'/my/location/file.html'.
  • 如果这里部件不在'/'( 前斜斜杠) 字符上,-or-不包括'。'( 点) 字符。
  • 使用URI的完整路径部分,并向它的追加一个正斜杠。
  • 发送 HTTP 301 ( 永久) 重定向以将浏览器定向到这个新的URI 。
  • 这将导致以下测试用例

    /-


CAN  RULE  FIG  HTA  htaccess  Figure  
相关文章