RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.test\.com$ [NC]
RewriteRule (.*) https://www.test.com/$1 [R=301, L]
我得到了第一行:RewriteEngine On
我获得了RewriteCond的正则表达式。
但我无法理解第3行。我们如何在.net
使用第3行中的'(。*)'后捕获下一部分? (.*)
不应该在第二行吗?
感谢。
答案 0 :(得分:1)
RewriteRule Pattern Substitution [flags]
第一个参数(.*)
是模式。
匹配什么?
在VirtualHost上下文中,最初将匹配模式 主机名和端口之后以及查询之前的URL部分 字符串(例如“/app1/index.html”)。
在Directory和htaccess上下文中,Pattern最初会是 删除前缀后,与文件系统路径匹配 将服务器引导到当前的RewriteRule(例如“app1 / index.html”或 “index.html”取决于定义指令的位置。
答案 1 :(得分:1)
重写规则的第一个参数与URI相关,(.*)
表示捕获任何字符串。
同样不是条件,你不应该在www之后有.
,应该只是!^www\.test\.com$