Почему не там никакое основное () функция в vxWorks?

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

RewriteEngine On

 #If the host is "sub.domain.com"
 RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
 #Then rewrite any request to /folder
 RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

Строка за строкой Объяснение:

  RewriteEngine on

Строка выше сообщает серверу включите движок для переписывания URL-адресов.

  RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]

Эта строка является условием RewriteRule, в котором мы сопоставляем HTTP-узел с использованием шаблона регулярного выражения. Условие говорит, что если хост является sub.domain.com, тогда выполните правило.

 RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]

Правило соответствует http://sub.domain.com/foo и внутренне перенаправляет его на http://sub.domain.com/folder/foo .

Замените sub.domain.com на ваш поддомен и папку с именем папки, которую вы хотите чтобы указать ваш поддомен.

5
задан Benoit 19 September 2008 в 00:53
поделиться

1 ответ

Перед 6,0 версиями VxWorks только поддерживал среду выполнения ядра для задач и не поддерживал процессы, который является средой выполнения традиционного приложения на ОС как Unix или Windows. Задачи имеют точку входа, которая является адресом кода для выполнения как задача. Этот адрес соответствует функция блока или C. Это может быть символ, названный "основным", но существуют предположения языка C/C++ об основном () функция, которые не поддерживаются в среде ядра (в особенности традиционная обработка argc и argv параметров). Кроме того, до VxWorks 6.0, все задачи выполняют код ядра. Можно изобразить ядро как общий репозиторий кода все соединенные, и затем Вы будете видеть, что у Вас не может быть нескольких символов того же имени ("основной"), так как это создало бы коллизии имени.

Теперь это точно, только если Вы связываете свой код приложения с изображением ядра. Если необходимо было загрузить код приложения затем, загрузчик модуля примет для загрузки нескольких модулей каждый основным () стандартная программа. Однако последний "основной" символ, зарегистрированный в системной таблице символов, является единственным, к которому можно получить доступ через целевую оболочку. Если бы Вы хотите запустить задачи, выполняющие код одного из первых загруженных модулей, необходимо было бы использовать адреса предыдущего основного () функция. Это возможно, но не удобно. Это намного более практично для давания различных имен точкам входа задач (может быть похожим на "xxxStart", где "xxx" является именем, значимым для того, что задача, как предполагается, делает).

При запуске с VxWorks 6.0 ОС поддерживает среду процесса. Это означает среди многих других вещей, что у Вас может быть традиционное основное () стандартная программа и что ее argc и argv параметры правильно обрабатываются, и что код приложения выполняется в контексте (пользовательский контекст), который отличается от контекста ядра, таким образом гарантируя изоляцию между кодом приложения (который может быть облуплен), и код ядра (который, как предполагается, не облуплен). КЛАВИАТУРА

13
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

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