Я должен копировать директивы Virtualhost для порта 80 и 443?

Вы можете попытаться создать функцию fn_split.

CREATE FUNCTION fn_split 
( @Words nvarchar(MAX)
, @splitStr varchar(50) 
)
RETURNS @Result_Table TABLE
       (
         [word] nvarchar(max) NULL
       )
BEGIN 
    Declare @TempStr nvarchar(MAX)

    WHILE (CHARINDEX(@splitStr,@Words)>0)
    BEGIN
        Set @TempStr=SUBSTRING(@Words,1,CHARINDEX(@splitStr,@Words)-1)
        Insert into @Result_Table (word) Values (@TempStr)

        Set @Words = REPLACE(@Words,@TempStr+@splitStr,'')
    END/*End While*/

    IF(LEN(RTRIM(LTRIM(@Words)))>0 And CHARINDEX(@splitStr,RTRIM(LTRIM(@Words)))=0) 
    Begin
        Set @TempStr=@Words 

        Insert into @Result_Table (word) Values (@TempStr)

    End 

   RETURN 
END

затем используйте небольшой навык, позволяющий умножить на один пробел в DISK_VOLUME, заменить три раза.

В следующем шаге используйте оконную функцию row_number, чтобы получить номер для агрегатной функции условия.

;WITH CTE as(
    SELECT val,word,ROW_NUMBER() OVER(PARTITION BY val order by val) rn
    FROM (
        SELECT replace(replace(replace(DISK_VOLUME,' ','*&'),'&*',''),'*&',' ') val
        FROM T
    ) t1 CROSS APPLY fn_split(t1.val,' ') v
)

SELECT max(CASE WHEN rn = 1 THEN word END) 'Caption',
       max(CASE WHEN rn = 2 THEN word END) 'Space1',
       max(CASE WHEN rn = 3 THEN word END) 'Space 2',
       max(CASE WHEN rn = 4 THEN word END) 'Volume Name '
FROM CTE
GROUP BY val

sqlfiddle

59
задан scotts 24 March 2009 в 23:04
поделиться

3 ответа

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

статья

например:

<VirtualHost _default_:80>
    ...
    include conf/common_rule.conf
</VirtualHost>

<VirtualHost _default_:*>
    ...
    include conf/common_rule.conf
</VirtualHost> 

<VirtualHost _default_:443>
    ... #SSL rules
    include conf/common_rule.conf
</VirtualHost>  
50
ответ дан sfossen 24 November 2019 в 18:25
поделиться

Вы могли поместить общую конфигурацию в отдельный файл и включать ее в оба сегмента VirtualHost. Например:

<VirtualHost 192.168.1.2:80>
  Include conf/common.conf
</VirtualHost>

<VirtualHost 192.168.1.2:443>
  Include conf/common.conf
  (put your ssl specific cofiguration stuff here ...)
</VirtualHost>
2
ответ дан Uwe Kleine-König 24 November 2019 в 18:25
поделиться

Вы могли также указать общие директивы в контейнере вместо в самом. Это - то, что я делаю, главным образом потому что я предпочитаю правила mod_rewrite на уровне каталога вместо на уровне сервера, но он должен работать одинаково хорошо на Вас также.

0
ответ дан Matt Jacob 24 November 2019 в 18:25
поделиться
Другие вопросы по тегам:

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