htaccess кодируют для удаления расширения И add+force, запаздывающего наклонная черта?

Попробуйте:

console.logCopy = console.log.bind(console);

console.log = function(data)
{
    var currentDate = '[' + new Date().toUTCString() + '] ';
    this.logCopy(currentDate, data);
};



Или, если вам нужна временная метка:

console.logCopy = console.log.bind(console);

console.log = function(data)
{
    var timestamp = '[' + Date.now() + '] ';
    this.logCopy(timestamp, data);
};



Для регистрации более чем одной вещи и хорошим способом (например, представление дерева объектов):

console.logCopy = console.log.bind(console);

console.log = function()
{
    if (arguments.length)
    {
        var timestamp = '[' + Date.now() + '] ';
        this.logCopy(timestamp, arguments);
    }
};



Со строкой формата ( JSFiddle )

console.logCopy = console.log.bind(console);

console.log = function()
{
    // Timestamp to prepend
    var timestamp = new Date().toJSON();

    if (arguments.length)
    {
        // True array copy so we can call .splice()
        var args = Array.prototype.slice.call(arguments, 0);

        // If there is a format string then... it must
        // be a string
        if (typeof arguments[0] === "string")
        {
            // Prepend timestamp to the (possibly format) string
            args[0] = "%o: " + arguments[0];

            // Insert the timestamp where it has to be
            args.splice(1, 0, timestamp);

            // Log the whole array
            this.logCopy.apply(this, args);
        }
        else
        { 
            // "Normal" log
            this.logCopy(timestamp, args);
        }
    }
};


[1112]

Выходы с что:

Sample output

PS: протестировано только в Chrome.

П.П.С .: Array.prototype.slice здесь не идеален, поскольку она будет записана как массив объектов, а не как ряд объектов.

8
задан Gumbo 1 July 2009 в 15:58
поделиться

5 ответов

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

Прекрасно работает - спасибо за помощь, ребята.

2
ответ дан 5 December 2019 в 08:00
поделиться

Вы можете попробовать решить вопрос здесь . Хотя решение вопроса не актуально (пока ...), сам вопрос предоставляет набор правил перезаписи, которые вы можете использовать на своем собственном сайте.

Если вам нужны символы в URL-адресах, вы можете просто использовать ". *" вместо определенного A-Za-z0-9, но если вы ищете возможную косую черту в конце, вы можете использовать ". *?" вместо. Это стандартная функция регулярных выражений, позволяющая избежать "жадности" ". *".

0
ответ дан 5 December 2019 в 08:00
поделиться

Попробуйте следующее:

RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]

RewriteRule (.*)/$ $1.php [L]

Первое правило перенаправляет запросы / foo / bar .php извне в / foo / bar / . И второе правило перезаписывает запросы / foo / bar / внутри в / foo / bar .php .

И чтобы заставить конечную косую черту, попробуйте это правило:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]
13
ответ дан 5 December 2019 в 08:00
поделиться

Это решение Gumbo отлично работает с файлами, но не работает с каталогами. Другими словами:

Для mysite.com/file1.php он показывает mysite.com/file1/ , что отлично. Тем не менее, это плохо работает для каталогов. Если я попытаюсь получить доступ к следующему каталогу (который содержит файл index.php внутри) mysite.com/dir1 , вместо отображения содержимого http: /mysite.com/dir1/index. php и URL: mysite.com/dir1/ , он возвращает 404.

Моим решением было:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ $1.php [L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]

Другими словами, ничего не делать, если это каталог.

Надеюсь, что это поможет.

Еще одна проблема с исходным решением заключается в том, что CSS и изображения не загружаются, пока я не изменю путь к файлу css и к изображениям на абсолютный путь.

Есть ли другой способ решите эту проблему, а не изменяйте все пути во всех файлах на веб-сайте на абсолютные.

Большое спасибо.

6
ответ дан 5 December 2019 в 08:00
поделиться

В качестве пути вы можете добавить на свои php-страницы.

0
ответ дан 5 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

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