Mod_rewrite работает на локальном хосте, но не на общем хостинге GoDaddy

Вы можете сделать это (не проверено):

function difference(a, b)
    local ai = {}
    local r = {}
    for k,v in pairs(a) do r[k] = v; ai[v]=true end
    for k,v in pairs(b) do 
        if ai[v]~=nil then   r[k] = nil   end
    end
    return r
end

Если вы можете изменить a, то он еще короче:

function remove(a, b)
    local ai = {}
    for k,v in pairs(a) do ai[v]=true end
    for k,v in pairs(b) do 
        if ai[v]~=nil then   a[k] = nil   end
    return r
end

Если ваши таблицы отсортированы вы также можете выполнить параллельную развертку двух таблиц, что-то вроде следующего псевдокода:

function diff(a, b)
    Item = front of a
    Diff = front of b
    While Item and Diff
       If Item < Diff then 
           Item is next of a
       Else if Item == Diff then 
           remove Item from a
           Item = next of a
           Diff = next of b
       Else         # else Item > Diff
           Diff = next of b

Это не использует никаких дополнительных таблиц. Даже если вам нужна новая таблица вместо разницы на месте, только одна новая таблица. Интересно, как это будет сравниваться с методом хэш-таблицы (remove).

Обратите внимание, что неважно, сколько раз вы зацикливаете, если a и b малы, тогда не должно быть существенной разницы между этими и вашим alg. Вам понадобится как минимум 100 элементов в a и b, возможно даже 1000.

1
задан LakeJeffler 27 March 2019 в 03:02
поделиться

1 ответ

Попробуйте приведенный выше код в .htaccess файле

RewriteEngine on

ErrorDocument 404 /404.php

RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
0
ответ дан SiddheshNan 27 March 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: