首页 > 解决方案 > 通过 .htaccess 重定向的 URL 被重定向到不同的位置

问题描述

我的 .htaccess 有以下代码:

RewriteRule ^([A-Z]+)$ listings/$1 [R=301]
RewriteRule ^listings/([A-Z]+)/?$ listings_state.php?state=$1  [NC,L]

使用此规则,我试图实现从spb.com/test_1/XY到的 301 重定向spb.com/test_1/listings/XY

但是,它正在重定向到spb.com/path/to/test_1/in_server/test_1/listings/CT

我尝试将 .htaccess 更改为如下:

RewriteRule ^([A-Z]+)$ /listings/$1 [R=301]
RewriteRule ^listings/([A-Z]+)/?$ listings_state.php?state=$1  [NC,L]

RewriteRule ^/([A-Z]+)$ /listings/$1 [R=301]
RewriteRule ^listings/([A-Z]+)/?$ listings_state.php?state=$1  [NC,L]

RewriteRule ^/([A-Z]+)$ /listings/$1 [R=301]
RewriteRule ^/listings/([A-Z]+)/?$ listings_state.php?state=$1  [NC,L]

似乎没有任何效果。

请在这方面指导我。谢谢社区:)

标签: .htaccessredirectmod-rewriteurl-rewritingfriendly-url

解决方案


您能否仅根据您显示的示例尝试以下操作。请确保在测试 URL 之前清除浏览器缓存

RewriteEngine ON
RewriteRule ^([A-Z]+)/?$ /test_1/listings/$1 [R=301]
RewriteRule ^test_1/listings/([A-Z]+)/?$ listings_state.php?state=$1 [NC,L]

推荐阅读