2014-10-20 5 views
1

Ниже приведен псевдоним ai в моем apache 2.4 httpd conf file Для каждой версии мы обновим номер версии и попытаемся использовать регулярное выражение, чтобы уловить изменения вместо ручного каждый раз изменяя номер версииApache 2.4: RegEx для псевдонима в httpd conf

Например, наша текущая версия - Passport14200 (14 - это номер года и 2 - для второго выпуска в 2014 году), следующим выпуском в этом году будет Passport14300 (третий выпуск в 2014 году) и первый релиз в 2015 году будет Passport15100

Вот как выглядит мой файл httpd conf

Alias /Passport14200 C:/Passport/tomcat/webapps/?Passport 
<Directory C:/DC/Passport/tomcat/webapps/Passport> 
    Require all denied 
    <FilesMatch "\.(gif|jpe?g|jpg|png|js|css|ico)$"> 
     Require all granted 
    </FilesMatch> 

    ExpiresActive On 
    ExpiresByType image/gif "access plus 10 years" 
    ExpiresByType image/png "access plus 10 years" 
    ExpiresByType text/css "access plus 10 years" 
    ExpiresByType text/javascript "access plus 10 years" 
    ExpiresByType application/javascript "access plus 10 years" 
</Directory> 

Мне интересно, существует ли способ для псевдонима регулярного выражения, чтобы он ловил паспорт [\ d {5}]?

Я новичок в Regularexpressions, может кто-нибудь, пожалуйста, помогите мне с этим?

+0

Зачем вам нужен псевдоним в любом случае? Вы слышали о 'mod_rewrite'? Существует директива 'AliasMatch' http://httpd.apache.org/docs/2.4/mod/mod_alias.html#aliasmatch – Cheery

+0

@Cheery Я совершенно новый для файлов apache conf, и это мое первое задание, поэтому я не имею понятия mod_rewrite и где начать с этого задания. Не могли бы вы привести пример использования mod_rewrite/AliaMatch в моем сценарии, я попытался посмотреть примеры, но я не мог соприкасаться с моим делом, поскольку все примеры имеют строки, а не цифры – RanPaul

+0

Сначала вы должны объяснить более подробно - хотите ли вы, чтобы псевдоним указывал на одну и ту же папку или каждый псевдоним на каждую собственную папку? – Cheery

ответ

1

Каждый Псевдоним указывает на ту же папку C:/DC/паспорт/кот/WebApps/Паспорт

Это будет найдено псевдоним, начиная с/Passport в той же папке.

AliasMatch ^/Passport.* C:/DC/Passport/tomcat/webapps/Passport 
<Directory C:/DC/Passport/tomcat/webapps/Passport> 
    Require all denied 
    <FilesMatch "\.(gif|jpe?g|jpg|png|js|css|ico)$"> 
     Require all granted 
    </FilesMatch> 

    ExpiresActive On 
    ExpiresByType image/gif "access plus 10 years" 
    ExpiresByType image/png "access plus 10 years" 
    ExpiresByType text/css "access plus 10 years" 
    ExpiresByType text/javascript "access plus 10 years" 
    ExpiresByType application/javascript "access plus 10 years" 
</Directory> 

Если вы хотите быть уверены, что есть только 5 цифр после Passport - используйте AliasMatch ^/Passport\d{5} C:/DC/Passport/tomcat/webapps/Passport

+0

После перехода на AliasMatch я не смог получить доступ к ресурсам из каталога файловой системы, можете ли вы помочь мне с моей проблемой http://stackoverflow.com/questions/26912490/aliasmatch-с-регулярное выражение-notworking-в-апаша-2-4 – RanPaul

Смежные вопросы