我正在尝试将我的整个域www.example.de重定向到www.domain.de/artikel.html,除了3个子域(以及那里的所有内容)和2个文件夹(以及其中的所有内容):
RewriteCond %{REQUEST_URI} !^/folder1/subfolder2/?$ [NC]
RewriteCond %{REQUEST_URI} !^/folder2/?$ [NC]
RewriteCond %{HTTP_HOST} !^static1\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} !^static2\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} !^static3\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} ^(\w+)\.example\.de [NC]
RewriteRule ^(.*)$ http://www.domain.de/artikel.html [R=301,L]
但它只是将www.example.de的所有内容重定向到www.domain.de/artikel.html,但不会重定向http://example.de的任何内容。
任何提示或解决方案对我来说? 谢谢!
答案 0 :(得分:1)
问题在于这种情况会导致重定向仅针对子域发生:
RewriteCond %{HTTP_HOST} ^(\w+)\.example\.de [NC]
将其替换为:
RewriteCond %{HTTP_HOST} (\.|^)example\.de [NC]
或者如果您的htaccess仅附加到一个站点(example.de),则可以完全删除它
你的htaccess将是:
RewriteCond %{REQUEST_URI} !^/folder1/subfolder2/?.*$ [NC]
RewriteCond %{REQUEST_URI} !^/folder2/?.*$ [NC]
RewriteCond %{HTTP_HOST} !^static1\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} !^static2\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} !^static3\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} (\.|^)example\.de [NC]
RewriteRule .* http://www.domain.de/artikel.html [R=301,L]