【发布时间】:2021-09-03 03:46:14
【问题描述】:
我正在尝试使用.htaccess 重定向文件和文件夹。我想在RewriteRule 之前添加一个RewriteCond 指令以仅匹配example.com/place/sta-ana.html 和example.com/place/sta-ana 目录。我试过这个:
RewriteCond %{REQUEST_URI} ^place/sta-ana(\.html|/.*)?
RewriteRule ^place/sta-ana(\.html|/.*)? /place/santa-ana$1 [L,NC,R=301]
还有这个:
RewriteCond %{THE_REQUEST} ^place/sta-ana(\.html|/.*)?
RewriteRule ^place/sta-ana(\.html|/.*)? /place/santa-ana$1 [L,NC,R=301]
但两者都只适用于重定向place/sta-ana.html 而不是目录及其文件,如place/sta-ana/santiago.html 和place/sta-ana/santiago/lourdes.html。我怎样才能获得上面的代码也将sta-ana 目录重定向到santa-ana 文件夹:
example.com/place/sta-ana.html => example.com/place/santa-ana.html
example.com/place/sta-ana/santiago.html => example.com/place/santa-ana/santiago.html
example.com/place/sta-ana/santiago/lourdes.html => example.com/place/santa-ana/santiago/lourdes.html
【问题讨论】:
-
是否要将
example.com/place/sta-ana/子目录中的所有文件重定向到/place/santa-ana/$1? -
你能写几个源 URL 和目标 URL 的例子吗?例如,不清楚
example.com/place/sta-ana.html的目标 URL 是什么 -
@anubhava,是的,除了
example.com/place/sta-ana.html重定向到example.com/place/santa-ana.html,我还想将example.com/place/sta-ana/子目录中的所有文件重定向到example.com/place/santa-ana/$1。
标签: regex apache .htaccess redirect mod-rewrite