Конфигурация mod_rewrite для Всех Подкаталогов

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

0
задан 7 November 2010 в 10:59
2 ответа

Решенный это с помощью двух измененных версий regex от этой страницы:

# $1 = directory, $2 = extension
# Matches:
# - /html
# - /web/portfolio/html

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?(html|rss|txt)$ $1index.php?transform=$2 [L]

# $1 = directory, $2 = "index.", $3 = extension
# Matches:
# - /index.html
# - /web/portfolio/index.html

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?(?:$|(index\.)(?:([^.]*$)|$))$ $1$2php?transform=$3 [L]
0
ответ дан 4 December 2019 в 22:45
# Check if file exists
RewriteCond %{REQUEST_FILENAME} ! -f

# Rewrite the URI if file doesn't exist and contains "index."
RewriteRule ^(.*)(index\.[^/]+)$ $1/index.php?transform=$2 [L]

# The same thing for any other URI
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteRule ^(.*)([^/]+)$ $1/index.php?transform=$2 [L]
1
ответ дан 4 December 2019 в 22:45
  • 1
    Reaults сообщения по 500 Ошибкам. –  Hugh Guiney 7 November 2010 в 23:33
  • 2
    Проверьте свой журнал ошибок и активируйтесь RewriteLog узнать, что вызывает ошибку. –  joschi 8 November 2010 в 08:24
  • 3
    Сначала это сказало "плохие разделители флага". Я удалил пространство после восклицательных знаков, и это позволило мне получать доступ к корню сайта, но как только я пытался получить доступ /foo Я получил еще 500 с этим в журнале: "Запрос превысил предел 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. Используйте 'LimitInternalRecursion' для увеличения предела при необходимости. Используйте 'отладку LogLevel' для получения следа". –  Hugh Guiney 10 November 2010 в 04:14
  • 4
    Существует тонна в переписать журнале, но здесь первые несколько строк (с чувствительной замененной информацией), "нечто" в этом случае, являющемся "HTML": 127.0.0.1 - - [09/Nov/2010:21:14:31 --0500] [site.example/sid#1008e2800][rid#1009b7e98/initial] (3) [perdir /Users/user/Sites/site/] strip per-dir prefix: /Users/user/Sites/site/html -> html 127.0.0.1 - - [09/Nov/2010:21:14:31 --0500] [site.example/sid#1008e2800][rid#1009b7e98/initial] (3) [perdir /Users/user/Sites/site/] applying pattern '^(.*)(index\.[^/]+)$' to uri 'html' –  Hugh Guiney 10 November 2010 в 04:20
  • 5
    127.0.0.1 - - [09/Nov/2010:21:14:31 --0500] [site.example/sid#1008e2800][rid#1009b7e98/initial] (3) [perdir /Users/user/Sites/site/] strip per-dir prefix: /Users/user/Sites/site/html -> html 127.0.0.1 - - [09/Nov/2010:21:14:31 --0500] [site.example/sid#1008e2800][rid#1009b7e98/initial] (3) [perdir /Users/user/Sites/site/] applying pattern '^(.*)([^/]+)$' to uri 'html' 127.0.0.1 - - [09/Nov/2010:21:14:31 --0500] [site.example/sid#1008e2800][rid#1009b7e98/initial] (4) [perdir /Users/user/Sites/site/] RewriteCond: input='/Users/user/Sites/site/html' pattern='!-f' => matched –  Hugh Guiney 10 November 2010 в 04:21

Теги

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