1

我正在尝试创建一个会改变的 modrewrite 规则:

/blah/correct/xyz.htm

/correct/xyz.htm

并不总是/blah存在,但当它存在时,它总是出现在 URL 的开头。URL 可以是任意长度,具有许多子路径。它甚至可能是/blah/myfile.htm(应该只是重写为/myfile.htm)。

最好的方法是什么?

4

1 回答 1

1

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,NC]

这将在内部转发/blah/foo/foo或。如果要外部重写,请使用:/blah/correct/foo/correct/foo

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,R=301,NC]
于 2013-06-21T17:15:23.170 回答