apache .htaccess 重定向正则表达式
apache .htaccess redirect regex
我需要 apache .htaccess 中的重定向 301 规则:
/catalog/{category_slug}/{product_slug}
至
/product/{product_slug}
示例:
/catalog/cat1/prod1 to /product/prod1
/catalog/cat1/prod2 to /product/prod2
/catalog/cat2/prod3 to /product/prod3
还有:
/en/catalog/abc/xyz to /en/product/xyz
/es/catalog/abc/xyz to /es/product/xyz
...
...
你能帮帮我吗?
谢谢
西蒙
在根 .htaccess
文件的顶部使用 mod_rewrite:
RewriteEngine On
RewriteRule ^catalog/[^/]+/([^/]+)/?$ /product/ [R=302,L]
</code> 反向引用包含前面 <code>RewriteRule
模式 中捕获组的“{product-slug}”(第三路径段)。
将此添加到您的 .htaccess 文件的顶部:
RewriteEngine On # no need to do this twice, once is enough
RewriteRule ^([^\/]+\/)?catalog\/[^\/]*\/([^0-9].*) /product/ [R=302,QSA,L]
确保在服务器上启用 mod_rewrite。
这将重定向:
- /catalog/abc/xyz 至 /product/xyz
- /catalog/abc/123/xyz 至 /product/123/xyz
- 由于
QSA
标志,也使用查询字符串重定向。
我需要 apache .htaccess 中的重定向 301 规则:
/catalog/{category_slug}/{product_slug}
至
/product/{product_slug}
示例:
/catalog/cat1/prod1 to /product/prod1
/catalog/cat1/prod2 to /product/prod2
/catalog/cat2/prod3 to /product/prod3
还有:
/en/catalog/abc/xyz to /en/product/xyz
/es/catalog/abc/xyz to /es/product/xyz
...
...
你能帮帮我吗?
谢谢 西蒙
在根 .htaccess
文件的顶部使用 mod_rewrite:
RewriteEngine On
RewriteRule ^catalog/[^/]+/([^/]+)/?$ /product/ [R=302,L]
</code> 反向引用包含前面 <code>RewriteRule
模式 中捕获组的“{product-slug}”(第三路径段)。
将此添加到您的 .htaccess 文件的顶部:
RewriteEngine On # no need to do this twice, once is enough
RewriteRule ^([^\/]+\/)?catalog\/[^\/]*\/([^0-9].*) /product/ [R=302,QSA,L]
确保在服务器上启用 mod_rewrite。
这将重定向:
- /catalog/abc/xyz 至 /product/xyz
- /catalog/abc/123/xyz 至 /product/123/xyz
- 由于
QSA
标志,也使用查询字符串重定向。