1

我对 301 重定向有一些问题。并非所有规则都有效。我特别注意到,重定向文件夹的规则不起作用。

这些是 cPanel 生成的规则之一:

RewriteCond %{HTTP_HOST} ^domain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.org$
RewriteRule ^index\.html$ "http\:\/\/www\.domain\.org\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^domain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.org$
RewriteRule ^subfolder\/$ "http\:\/\/www\.domain\.org\/" [R=301,L]

第一个基本上说重定向domain.org/index.htmldomain.org/它工作正常。但是第二个打算重定向domain.org/subfolder/到的domain.org却没有。

301 重定向可以重定向对文件夹的访问吗?

4

1 回答 1

1

从 RewriteRule 中的目标中删除引号和转义字符后,它应该可以正常工作。

RewriteCond %{HTTP_HOST} ^domain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.org$
RewriteRule ^index\.html$ http://www.domain.org/ [R=301,L]

RewriteCond %{HTTP_HOST} ^domain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.org$
RewriteRule ^subfolder/$ http://www.domain.org/ [R=301,L]

如果您尝试重定向所有不存在的子文件夹,则子文件夹是“子文件夹”一词的字面意思,您可以尝试以下类似的操作。\w通常与 相同[A-Za-z0-9_],我们也允许使用连字符。

RewriteCond %{HTTP_HOST} ^domain\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.org$
RewriteRule ^([\w-]+)/?$ http://www.domain.org/ [R=301,L]
于 2013-08-01T02:59:12.130 回答