我被困在重定向我的网址。我想我几乎在那里但不能监督我所缺少的东西。当我测试时,重定向会转到正确的网址,但会将旧网址粘贴到新网址上。
这就是我被困的地方:
RewriteCond %{QUERY_STRING} lang=uk&page=page
RewriteRule ^(.*)$ domain/page/ [L,R=301]
RewriteCond %{QUERY_STRING} lang=fr&page=page
RewriteRule ^(.*)$ domain/page/ [L,R=301]
RewriteCond %{QUERY_STRING} lang=uk&page=about
RewriteRule ^(.*)$ domain/about/ [L,R=301]
RewriteCond %{QUERY_STRING} lang=uk&page=about
RewriteRule ^(.*)$ domain/about/ [L,R=301]
RewriteCond %{QUERY_STRING} lang=uk&page=news
RewriteRule ^(.*)$ domain/info/ [L,R=301]
RewriteCond %{QUERY_STRING} lang=fr&page=news
RewriteRule ^(.*)$ domain/info/ [L,R=301]
如果我所有重定向个人,我也很害怕我遇到一个大的htaccess文件。会减慢速度吗?
Lang = nl,uk,us,fr都去了同一页。 并非所有页面=在更改后获得相同的页面名称。 提前谢谢,
答案 0 :(得分:1)
您可以首先具有特定重定向,其中页面名称与目标不同,后跟单个规则,其中查询参数page
具有与目标URI相同的值。因此,您的代码只能缩短为这两条规则。
RewriteEngine On
RewriteCond %{QUERY_STRING} lang=(fr|uk|us|nl)&page=news
RewriteRule ^ /info/? [L,R=301]
RewriteCond %{QUERY_STRING} lang=(fr|uk|us|nl)&page=([^&]+)
RewriteRule ^ /%2/? [L,R=301]