.htaccess 将技术链接重定向到SEO链接

.htaccess 将技术链接重定向到SEO链接,.htaccess,mod-rewrite,url-rewriting,isapi-rewrite,.htaccess,Mod Rewrite,Url Rewriting,Isapi Rewrite,我有一个地图文件,这是工作与搜索引擎友好的网址很好 现在客户希望不允许用户访问技术链接,这意味着只有SEO链接才可以访问 e、 g我的地图文件看起来像 buche-massiv-weiss-lackiert.html /?page=datail&productid=1212 目前搜索引擎优化是工作,但我需要的是,如果用户调用这个 技术链接,即 /?page=datail&productid=1212 如果也应该首先重定向到SEO链接,然后页面应该被调用 执行此操作的最佳方法是什么?在同

我有一个地图文件,这是工作与搜索引擎友好的网址很好

现在客户希望不允许用户访问技术链接,这意味着只有SEO链接才可以访问

e、 g我的地图文件看起来像

buche-massiv-weiss-lackiert.html /?page=datail&productid=1212
目前搜索引擎优化是工作,但我需要的是,如果用户调用这个 技术链接,即

/?page=datail&productid=1212

如果也应该首先重定向到SEO链接,然后页面应该被调用


执行此操作的最佳方法是什么?

在同一映射文件中添加如下反向条目:

/?page=datail&productid=1212 buche-massiv-weiss-lackiert.html
RewriteEngine On
RewriteMap map_rev txt_rev:my_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND 
RewriteRule (.+) %1 [R]
然后在htaccess的顶部设置此规则,以便重定向到pretty URL:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/*(/.*?)\sHTTP [NC]
RewriteCond %1::${mymap:%1} ^(.*)::.
RewriteRule .* ${mymap:%1}? [L,NE,R=301]

这是假设您的
RewriteMap
的名称为
mymap
。将其更改为地图名称。

使用Helicon Ape,您可以在同一地图文件上使用反向地图,如下所示:

/?page=datail&productid=1212 buche-massiv-weiss-lackiert.html
RewriteEngine On
RewriteMap map_rev txt_rev:my_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND 
RewriteRule (.+) %1 [R]
然后选择现有的映射规则。 使用ISAPI_Rewrite,您必须创建另一个反向映射文件,并确保两个文件的内容同步。用法类似于:

RewriteEngine On
RewriteMap map_rev txt:my_rev_map_file.txt [NC]
RewriteCond ${map_rev:$1|NOT_FOUND} (.*)
RewriteCond %1 !NOT_FOUND 
RewriteRule (.+) %1 [R]