Перезапись Apache на основе [закрытого] субдомена

Использование расширения:

extension Date{

func generateDatesArrayBetweenTwoDates(startDate: Date , endDate:Date) ->[Date]
{
    var datesArray: [Date] =  [Date]()
    var startDate = startDate
    let calendar = Calendar.current

    let fmt = DateFormatter()
    fmt.dateFormat = "yyyy-MM-dd"

    while startDate <= endDate {
        datesArray.append(startDate)
        startDate = calendar.date(byAdding: .day, value: 1, to: startDate)!

    }
    return datesArray
}
}

Использование:

let datesBetweenArray = Date().generateDatesArrayBetweenTwoDates(startDate: Your Start Date Object , endDate: Your End Date Object)
29
задан Sam 9 September 2008 в 22:18
поделиться

3 ответа

Необходимо взглянуть на Руководство по Перезаписи URL из апачской документации.

следующее не тестируется, но оно должно к приему:

RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$           http://blah.domain.com/%1/$1 [L,R] 

Это только работает, если субдомен не содержит точек. Иначе необходимо было бы изменить Regexp в RewriteCond для соответствия любому символу, который должен все еще работать из-за привязки, но это, конечно, чувствует себя более безопасным.

33
ответ дан pilif 14 October 2019 в 08:48
поделиться

Попробуйте это:

RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com
RewriteRule ^(.+)$ /%1/$1 [L]

@pilif (см. комментарий): Хорошо, это правда. Я просто скопировал .htaccess, который я использую на одном из моих проектов. Угадайте, что это имеет немного отличающийся подход:)

3
ответ дан BlaM 14 October 2019 в 08:48
поделиться

@Sam

Ваша строка RewriteCond является неправильным. Расширение переменной инициировано с %, не $.

RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$
            ^

, который должен добиться цели

1
ответ дан pilif 14 October 2019 в 08:48
поделиться
Другие вопросы по тегам:

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