我想将请求重定向到网址:
example.com/downloads
到
download.example.com/downloads
如何为.htaccess文件编写正则规则?
答案 0 :(得分:0)
You don't actually need mod_rewrite
to do this.除非您匹配模式而不仅仅是字符串,否则您也不需要正则表达式。
Redirect ^/downloads http://download.example.com/downloads
如果你需要匹配一个模式(即将每个子目录重定向到一个子域 - 对我来说听起来像个坏主意,但无论如何)那么你做需要一个正则表达式,但你仍然没有&#39 ; t需要mod_rewrite
。
RedirectMatch ^/([^/+])(/.+)? http://$1.example.com/$1$2
这匹配紧跟在域之后的字符串,即" downloads" http://example.com/downloads/somefile
的一部分,然后是请求的任何尾随部分,并构建一个URL以重定向到使用这两个部分。
答案 1 :(得分:0)
将此规则放在根目录中.htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^downloads(/.*)?$ http://download.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L,NC]