重写301重定向的规则条件



我必须重新命名URL的一部分,这将影响数十个网页:

http://www.example.com/old/web-page到http://www.example.com/new/web-page

到目前为止,我有:

RewriteRule old/(.*) http://www.example.com/new/$1 [R=301,L]

但我读到"重写规则"可能会发生冲突,我在.htaccess:中使用了这一点

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

所以,我有两个问题:重写规则正确吗;我会经历某种冲突吗?

301规则放在RewriteEngine On行的正下方:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule old(/.*)?$ /new$1 [R=301,L,NC]
RewriteCond $1 !.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

最新更新