ошибка mod_rewrite 404, если .php

Объект, используемый в Object.create, фактически формирует прототип нового объекта, где, как и в новой функции Function (), объявленные свойства / функции не образуют прототип.

Да, Object.create создает объект, который наследует непосредственно от объекта, переданного в качестве первого аргумента.

С помощью функций конструктора вновь созданный объект наследует от прототипа конструктора, например, :

var o = new SomeConstructor();

В вышеприведенном примере, o наследуется непосредственно от SomeConstructor.prototype.

Здесь есть разница: с Object.create вы можете создать объект, который ни от чего не наследует, Object.create(null);, с другой стороны, если вы установите SomeConstructor.prototype = null;, то вновь созданный объект будет наследоваться от Object.prototype .

Вы не можете создавать замыкания с синтаксисом Object.create, как с функциональным синтаксисом. Это логично, учитывая объем лексического (против блочного) типа JavaScript.

Ну, вы можете создавать замыкания, например, используя аргумент дескрипторов свойств:

var o = Object.create({inherited: 1}, {
  foo: {
    get: (function () { // a closure
      var closured = 'foo';
      return function () {
        return closured+'bar';
      };
    })()
  }
});

o.foo; // "foobar"

Обратите внимание, что я говорю о методе ECMAScript 5th Edition Object.create , а не о шайбе Крокфорда.

Этот метод начинает реализовываться непосредственно в последних браузерах, проверьте эту таблицу совместимости .

8
задан 28 June 2009 в 20:19
поделиться

3 ответа

RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/
RewriteRule ^.*$ - [R=404,L]
7
ответ дан 5 December 2019 в 15:25
поделиться

Это должно помочь, я думаю:

RewriteRule (.*)\.php$ path/to/your/404file [L]
2
ответ дан 5 December 2019 в 15:25
поделиться

301 редирект может быть более подходящим для этой задачи.

2
ответ дан 5 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

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