htaccess redirect保留了旧网址的一部分

时间:2016-09-15 16:17:23

标签: .htaccess redirect

更新网站并进行大量重定向。 问题是新URL保留了旧的一部分,如以下示例所示:

http://url.com/new/oldfile.html

重定向到:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
    Options +FollowSymLinks
</IfModule>

RewriteEngine On

 # Redirect Trailing Slashes...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]


</IfModule>

除了重定向,htaccess还包含以下内容:

var tempItemList = new List<MyStuff>();
foreach(var item in listOfItemsToBeAdded)
{
    //biz logic
    tempItemList.Add(item)
}

using (var transaction = context.Transaction())
{
    try
    {
        context.BulkInsert(tempItemList);
        transaction.Commit();
    }
    catch (Exception ex)
    {
        // Handle exception
        transaction.Rollback();
    }
}

1 个答案:

答案 0 :(得分:1)

使用mod_rewrite代替。这应该高于其他重写规则。

RewriteEngine on
RewriteRule ^old/oldfile.html /new [R=301,L]