Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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

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_Redirect_Mod Rewrite - Fatal编程技术网

Apache .htaccess由多个重定向生成的重定向链

Apache .htaccess由多个重定向生成的重定向链,apache,.htaccess,redirect,mod-rewrite,Apache,.htaccess,Redirect,Mod Rewrite,你能帮我吗 我目前正在一个网站上工作,下面是.htaccess中的内容 RewriteEngine On RewriteCond %{HTTP_HOST} ^example.co.uk [NC] RewriteRule ^(.*)$ http://www.example.co.uk/$1 [L,R=301] RewriteRule ^$ http://www.example/folder-name [R=301,L] 在我看来,这是通过以下方式实现的: 使用301将根域重写到www,然后再使用

你能帮我吗

我目前正在一个网站上工作,下面是.htaccess中的内容

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.co.uk [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [L,R=301]
RewriteRule ^$ http://www.example/folder-name [R=301,L]
在我看来,这是通过以下方式实现的:

使用301将根域重写到www,然后再使用301重定向到/文件夹名


理想情况下,我希望删除中间的重定向(即从根域到www),只保留从根域到/文件夹名的重定向

注意,这里有一个子域,我们称之为products.example.co.uk,这里需要访问

这是可能的吗?我的.htaccess技能不是特别严格,因此我非常感激您的帮助!

这应该可以:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/folder-name/$1 [L,R=301]
这应该起作用:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/folder-name/$1 [L,R=301]

理想情况下,我希望删除中间的重定向(即从根域到www),只保留从根域到/文件夹名的重定向

这应该做到:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example.co.uk [NC]
RewriteRule ^((?!folder).*)$ http://www.example.co.uk/folder/$1 [L,R=301]

理想情况下,我希望删除中间的重定向(即从根域到www),只保留从根域到/文件夹名的重定向

这应该做到:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example.co.uk [NC]
RewriteRule ^((?!folder).*)$ http://www.example.co.uk/folder/$1 [L,R=301]

有没有办法从中排除某些文件?例如,我有几个URL不希望重定向到位于根域上的/folder?有没有办法从中排除某些文件?例如,我有几个URL不希望重定向到位于根域上的/folder?