Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache htaccess重定向除子域和文件夹之外的所有内容_Apache_.htaccess_Mod Rewrite_Redirect_Subdomain - Fatal编程技术网

Apache htaccess重定向除子域和文件夹之外的所有内容

Apache htaccess重定向除子域和文件夹之外的所有内容,apache,.htaccess,mod-rewrite,redirect,subdomain,Apache,.htaccess,Mod Rewrite,Redirect,Subdomain,我正在尝试将我的整个域www.example.de重定向到www.domain.de/artikel.html,除了3个子域(以及其中的所有内容)和2个文件夹(以及其中的所有内容): 但它只是将www.example.de中的所有内容重定向到www.domain.de/artikel.html,而不重定向任何内容 有人给我一个提示或解决方案吗?? 谢谢 问题在于这种情况导致仅对子域进行重定向: RewriteCond %{HTTP_HOST} ^(\w+)\.example\.de [NC]

我正在尝试将我的整个域www.example.de重定向到www.domain.de/artikel.html,除了3个子域(以及其中的所有内容)和2个文件夹(以及其中的所有内容):

但它只是将www.example.de中的所有内容重定向到www.domain.de/artikel.html,而不重定向任何内容

有人给我一个提示或解决方案吗??
谢谢

问题在于这种情况导致仅对子域进行重定向:

RewriteCond %{HTTP_HOST} ^(\w+)\.example\.de [NC]
替换为:

RewriteCond %{HTTP_HOST} (\.|^)example\.de [NC]
或者,如果您的htaccess仅连接到一个站点(example.de),则可以完全删除它

您的访问权限将是:

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]

它有助于解决www/非www问题。但我仍然有一个大问题:它只排除文件夹。但不是该文件夹中的文件。例如:我无法打开www.example.de/folder2/main.phpI部分修复了它:
RewriteCond%{REQUEST_URI}^/de/qm/(.*)$[NC]重写条件%{REQUEST_URI}^/contao/(.*)$[NC]重写条件%{REQUEST_URI}^/系统/(.*)$[NC]重写条件%{REQUEST_URI}^/tl_files/(.*)$[NC]
现在它适用于www.example.de/folder2/main.php,但不适用于www.example.de/folder1/subfolder2/test.html??它适用于:)。但在我的例子中,问题是,我们将子文件夹域路由回根目录中的index.php(bc,它是contao cms)。我还排除了index.php,之后它工作得非常好。
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]