如何仅将 RewriteCond 设置为精确的 URL?
How can I set the RewriteCond for the exact URL only?
我需要进行从 sitename.dom
到 sitename.dom2
的隐藏重定向,保持其余字符串不变。
现在我使用:
RewriteCond %{HTTP_HOST} ^sitename.dom
RewriteRule ^(.*) http://sitename.dom2/ [P]
而且效果很好。但。由于我网站上的多语言,首页有以下路径:
sitename.dom2/lang
这就是为什么当用户调用 sitename.dom 他被重定向(隐藏)到 sitename.dom2/他得到了 404 页。
因此,请告知如何仅对确切请求进行严格重定向 sitename.dom,而无需进一步?
我试过了
RewriteCond %{HTTP_HOST} ^sitename\.dom$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*) http://sitename.dom2\/lang [P]
运气不好。
顺便说一句,网站内的语言子路径根本不受影响。 sitename.dom/lang/page
与 sitename.dom/page
效果一样好
只需在您的第一个 RewriteRule
指令中添加 /lang
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sitename.dom$
RewriteRule ^ http://sitename.dom2/lang%{REQUEST_URI} [P]
我必须在所有其他重定向之前添加单个重定向。并在此规则中使用 dom2 而不是 dom1。
解决方法如下:
RewriteEngine On
#redirect front page only:
RewriteCond %{HTTP_HOST} ^sitename\.dom2$ [OR]
RewriteCond %{HTTP_HOST} ^www\.sitename\.dom2$
RewriteRule ^/?$ "http\:\/\/sitename\.dom2/\lang" [L]
#redirect all other pages:
RewriteCond %{HTTP_HOST} ^sitename\.dom2
RewriteRule ^(.*) http://sitename\.dom1\/ [P]
我需要进行从 sitename.dom
到 sitename.dom2
的隐藏重定向,保持其余字符串不变。
现在我使用:
RewriteCond %{HTTP_HOST} ^sitename.dom
RewriteRule ^(.*) http://sitename.dom2/ [P]
而且效果很好。但。由于我网站上的多语言,首页有以下路径:
sitename.dom2/lang
这就是为什么当用户调用 sitename.dom 他被重定向(隐藏)到 sitename.dom2/他得到了 404 页。
因此,请告知如何仅对确切请求进行严格重定向 sitename.dom,而无需进一步?
我试过了
RewriteCond %{HTTP_HOST} ^sitename\.dom$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*) http://sitename.dom2\/lang [P]
运气不好。
顺便说一句,网站内的语言子路径根本不受影响。 sitename.dom/lang/page
与 sitename.dom/page
只需在您的第一个 RewriteRule
指令中添加 /lang
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sitename.dom$
RewriteRule ^ http://sitename.dom2/lang%{REQUEST_URI} [P]
我必须在所有其他重定向之前添加单个重定向。并在此规则中使用 dom2 而不是 dom1。
解决方法如下:
RewriteEngine On
#redirect front page only:
RewriteCond %{HTTP_HOST} ^sitename\.dom2$ [OR]
RewriteCond %{HTTP_HOST} ^www\.sitename\.dom2$
RewriteRule ^/?$ "http\:\/\/sitename\.dom2/\lang" [L]
#redirect all other pages:
RewriteCond %{HTTP_HOST} ^sitename\.dom2
RewriteRule ^(.*) http://sitename\.dom1\/ [P]