htaccess: добавить косую черту только в конкретном случае

Более простой пример:

a = len(alist)-1
while a > 0:
    for b in range(0,a):
        #compare with the adjacent element
        if alist[b]>=alist[b+1]:
            #swap both elements
            alist[b], alist[b+1] = alist[b+1], alist[b]
    a-=1

Это просто принимает элементы от 0 до a (в основном, все несортированные элементы в этом раунде) и сравнивает его со своим соседним элементом и делает обмен, если он больше, чем смежный элемент. В конце раунд последний элемент сортируется, и процесс запускается без него, пока все элементы не будут отсортированы.

Нет необходимости в условии, является ли sort истинным или нет.

Обратите внимание, что этот алгоритм учитывает положение чисел только при замене, поэтому повторяющиеся числа не будут влиять на него.

PS. Я знаю, что это было очень давно, поскольку этот вопрос был опубликован, но я просто хотел поделиться этой идеей.

2
задан matt 17 January 2019 в 12:49
поделиться

2 ответа

Вы всегда можете активировать DirectorySlash для определенного местоположения:

<Location "/en">
  DirectorySlash On
  FallbackResource /index.php
</Location>

Я не тратил так много времени на эту проблему, но вы хотите прочитать предупреждение об этом в ссылка выше. Или вы можете использовать альтернативное решение:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/en$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Если проблемы с относительными URL-адресами для изображений и т. Д., Попробуйте добавить в заголовок страницы следующее:

<head>
 <base href="/" />
<head>

Перезапустите apache, чтобы изменения вступают в силу. Если используется WordPress, обратите внимание на порядок выполнения. Все правила перенаправления должны быть расположены до правил маршрутизации. Правила WordPress направляют все в index.php.

0
ответ дан Gillsoft AB 17 January 2019 в 12:49
поделиться

Чтобы все URL имели косую черту.

Приведенное ниже правило переадресует https://myurl.com/en в https://myurl.com/en/ с косой чертой в конце.

https://myurl.com/ru - https://myurl.com/en/

[1115 ] Установка конечной косой черты для всех ваших URL-адресов в вашем доменном имени.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ https://myurl.com/$1/ [L,R=301]

Приведенное ниже правило применимо только для определенного сегмента URL:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^en$ /en/ [R=301,NC,L]

Очистить кеш браузера

[ 1113] После внесения каких-либо изменений в файл .htaccess необходимо очистить кэш браузера перед повторной попыткой или открыть его в новом режиме просмотра в режиме инкогнито, чтобы проверить свои изменения, большинство современных браузеров обычно кэшируют веб-страницу, поэтому вы не можете увидеть действие, если вы не очистили кеш браузера.

0
ответ дан Googlian 17 January 2019 в 12:49
поделиться
Другие вопросы по тегам:

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