我们有一个运行在虚拟主机上的具有单个数据库的多域网络商店,该虚拟主机使用以下.htaccess来分隔不同语言的域。
在操作上,它工作得很好,但它将每个重定向文件显示为301重定向,这是理所当然的。
1)是否有可能在不显示301重定向(而显示200)的情况下进行重定向?
2)有没有可能在不显示301重定向(而是显示200)或url更改的情况下进行index.php重定向?
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect all files except robots.txt to Store subfolder
RewriteCond %{HTTP_HOST} domain1\.com$ [NC]
RewriteRule !^robots\.txt$ /folder1/$1 [R=301,NC,L]
RewriteCond %{HTTP_HOST} domain2\.com$ [NC]
RewriteRule !^robots\.txt$ /folder2/$1 [R=301,NC,L]
RewriteCond %{HTTP_HOST} domain3\.com$ [NC]
RewriteRule !^robots\.txt$ /folder3/$1 [R=301,NC,L]
</IfModule>发布于 2013-12-27 14:33:27
是否有可能在不显示301重定向(而显示200)的情况下进行重定向?
这称为重写,而不是重定向。重定向是发送到浏览器以加载不同URL的响应,当它这样做时,它将在地址栏中显示它加载的内容。重写完全停留在服务器端,浏览器对此一无所知,因此地址栏不会改变,因为它从未被告知要加载新的URL。
有没有可能让index.php重定向而不显示301重定向(而不是显示200)或更改url?
你想要这样的东西:
RewriteCond %{HTTP_HOST} domain1\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/folder1/
RewriteRule ^(.*)$ /folder1/$1 [L]等。
注意,这里没有告诉mod_rewrite重定向浏览器的R=301标志。
https://stackoverflow.com/questions/20794906
复制相似问题