如何仅将 RewriteCond 设置为精确的 URL?

How can I set the RewriteCond for the exact URL only?

我需要进行从 sitename.domsitename.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/pagesitename.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]