0

我的 .htaccess 文件中有以下内容:

RewriteCond         %{REQUEST_URI}  ^/folder1(/.*|)$
RewriteRule         ^(.*)$  http://folder1.domain.com/  [R=301,L]

这导致带我去

http://folder1.domain.com

如果有人访问

http://www.domain.com/ANYTHINGHERE

我想保留这个功能。但我希望用户能够查看位于以下位置的文件:

http://www.domain.com/folder1/interestingfile.txt

当他们访问时

http://www.domain.com/folder1/interestingfile.txt

或者

http://folder1.domain.com/interestingfile.txt

有任何想法吗?

4

2 回答 2

0

您需要添加反向引用:

RewriteCond         %{REQUEST_URI}  ^/folder1/(.*|)$
RewriteRule         ^(.*)$  http://folder1.domain.com/%1  [R=301,L]

要反向引用 URI 之后的部分/folder1/,假设您的folder1.domain.com文档根目录指向该/folder1/文件夹。

于 2013-10-23T19:16:46.933 回答
0

有这样的规则:

 RewriteEngine On

 RewriteCond %{HTTP_HOST} ^(www\.)domain\.com$ [NC]
 RewriteRule ^(folder1)/(interestingfile\.txt)$ http://$1.domain.com/$2 [R=301,L,NC]

 RewriteCond %{HTTP_HOST} ^(www\.)domain\.com$ [NC]
 RewriteRule ^folder1/ http://folder1.domain.com/ [R=301,L,NC]

确保:

  1. 将这些规则放在任何其他现有规则之前
  2. 在新浏览器中测试以避免 301 缓存
于 2013-10-23T20:29:25.110 回答