是否可以通过保护单个网站的URL或多个被手动更改?htaccess:保护手动重写URL地址
实施例:
www.example.com/here-is-example-url/1234/page/
- 这是正确的URL
www.example.com/here-is-example
- 坏URL(手动改变的) 或
www.example.com/here-is-
- 坏URL(手动改变的) 或
www.example.com/here-is-example-2
- 不良网址(手动更改)
目前我确实将这些修改后的地址重定向到了主页,最后RewriteRule,但我更愿意看到一些解决方案来检测URL的手动更改并阻止访问这些访问者。
什么重写规则或RewriteCond会阻止这?
这里是我到目前为止有:
#redirect to canonical url if no ending slash
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page$ $1/$2/page/ [R,L]
#redirect to canonical url if anything behind slash
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page/(.+)$ $1/$2/page/ [R,L]
#rewrite to PHP file if visiting the canonical url
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/page/$ page.php?val1=$1&val2=$2 [L]
#redirect to Homepage url if no other rule match with missing ending slash
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) http://www.domain.com/ [R,L]
在这种情况下,不能被一些重写规则来解决是有可能这样的行为重定向到500次访问被拒绝?
让我们在这里备份一下。它会使这些URL产生错误的目的是什么? (是否有某些原因可以让你特别*要*告诉这些用户离开?) – duskwuff
@duskwuff我想显示500个访问被拒绝给任何人,如果他们手动修改URL的话。因此,作为最后一个条件和规则,如果缺少结束斜线,用户将重定向到主页 - 如何调整该条件和规则以使其[F,L] - 基于条件拒绝访问而不是重定向到主页? –