.htaccess - 问题 HTACCESS:如何赋予优先级绝对路径?
问题描述
我们正忙于为我们的网店改名,我正在处理我们的 HTACCESS 以重定向 1700 个链接。从这 1700 个链接中,有 177 个链接在我们的新网店中发生变化。所以他们必须在 HTACCESS 中。其他链接保持不变,我现在使用一般重写将它们重定向。
现在唯一的问题是他看起来不太清楚确切的链接是什么。例如见下面我的 HTACCESS。
RewriteEngine on
# Redirect to domain with www.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Same for HTTPS:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.old\.nl$ [NC]
RewriteRule ^vloerkleden/categorie/(.*)$ https://www.new.nl/vloerkleden/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.old\.nl$ [NC]
RewriteRule ^vloerkleden/categorie/vintage-vloerkleed/(.*)$ https://www.new.nl/vloerkleden/vintage-vloerkleed/ [R=301,L]
RewriteCond %{HTTP_HOST} ^old.nl [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old.nl [NC]
RewriteRule ^(.*)$ https://www.new.nl/$1 [L,R=301,NC]
当我现在在浏览器 www.old.nl/vloerkleden/catagorie/vintage-vloerkleed/ 中输入以下网址时,他将我链接到 www.new.nl/vloerkleden 而不是 www.new.nl/vloerkleden/vintage-vloerkleed。
解决方案
你在这一行的问题:
RewriteRule ^vloerkleden/categorie/(.*)$ https://www.new.nl/vloerkleden/ [R=301,L]
(.*)$
所以没有什么可以代替出现https://www.new.nl/vloerkleden/
,它应该看起来像这样,https://www.new.nl/vloerkleden/$1
因为$1
将(.*)
在模式中表示。
此外,您可以使用其他规则执行此操作,也可以像这样总结您的规则:
RewriteEngine on
# the folwoing rules will force every request for both old & new into https://wwww:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^(?!.*www\.)(.*)$
RewriteRule .* https://www.%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?old\.nl$ [NC]
RewriteRule ^vloerkleden/categorie/(.*)$ https://www.new.nl/vloerkleden/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?old\.nl$ [NC]
RewriteRule ^vloerkleden/categorie/vintage-vloerkleed/(.*)$ https://www.new.nl/vloerkleden/vintage-vloerkleed/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?old.nl [NC]
RewriteRule ^(.*)$ https://www.new.nl/$1 [L,R=301,NC]
注意:清除浏览器缓存然后测试。
推荐阅读
- imagemagick - 忽略imagemagick转换颜色直方图输出中的白色
- mysql - 对单个用户的访问求和,并知道使用 MySQL 的访问类型
- python - Discord.Py 混合图片并在不下载的情况下发送它们
- c++ - C++ 性能下降(或者代码必须改进?)
- node.js - MongooseError:`openUri()` 的 `uri` 参数必须是字符串,得到“未定义”。确保 `mongoose.connect()` 的第一个参数是一个字符串
- python - 如何使用 python pandas 为 pdf_export 制作表格
- python - 解析网页时无法提取单行
- java - 如何用一维数组中的值填充二维数组?
- c - 嵌入式 C 中的 __forceinline
- vue.js - Vue:有条件地允许基于另一个道具的值的道具类型