我无法访问Web服务器根目录,我需要将来自www.mydomain.com/folder1/folder2的调用重定向到http://mydomain.com/folder1/folder2。
我试着写下.htaccess以下内容:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com/folder1/folder2[nc]
RewriteRule ^(.*)$ http://mydomain.com/folder1/folder2/$1 [r=301,nc]
我将它放在folder2中,它没有用,我需要更改它才能工作?
答案 0 :(得分:1)
这应该有效:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=302]
正在检查它是否为www.
,如果是,则将其重定向到http://domain.com
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^folde/dopl$ http://domain.com/folde/dopl [L,R=302]
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^folde/dopl/(.*)$ http://domain.com/folde/dopl/$1 [L,R=302]
答案 1 :(得分:0)
%{HTTP_HOST}仅包含域(mydomain.com
)。此外,您的条件仅适用于已经缺少www的主机。点数需要逃脱。
所以你的RewriteCond应该是:
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com [NC]
此外,您的RewriteRule捕获整个请求字符串(包括/ folder1 / folder2),规则重定向到/ folder1 / folder2 / folder1 / folder2。
请参阅Howlin的答案以获得正确的尝试。
答案 2 :(得分:0)
尝试以下方法:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.mydomain\.com)?$
RewriteRule ^(.*)$ http://mydomain.com/folder1/folder2/$1 [R=301,L]
顺便说一句,如果您使用301重定向,您的浏览器可能会缓存重定向,因此请在再次测试之前清除缓存!
参考: https://webmasters.stackexchange.com/questions/25775/subfolder-non-www-redirect