Переписывание URL для Zeus - regex help - PullRequest
0 голосов
/ 04 октября 2010

Мне выпала незавидная задача запустить сайт сегодня, чтобы узнать, не работает ли он на Apache, а использует Zeus.Теперь это довольно беспорядочно ломает мой скрипт mod_rewrite.

Это простой скрипт, который я переписал в формат Zeus:

RewriteEngine on
RewriteRule !404.php$ blog/404.php [L]

становится

match URL into $ with ^/blog/(.*)           
if matched set URL=/blog/404.php

Однако,Недостатком является то, что, хотя я выключил mod_rewrite в некоторых дочерних каталогах (например, CSS, изображения и т. д.), я не могу сделать это в Zeus.

Играю с регулярным выражением, чтобы попытаться получить приведенное выше регулярное выражение, чтобы исключить любые совпадения для / blog / css / или / blog / images, но не повезло.

Надеясь на кого-то, кто может помочь мнеиз!

редактировать.в настоящее время работает над этим регулярным выражением ...

^(?=/blog/)((?!css/|images/|js/).)*$ 

Так что это должно соответствовать любой ссылке с / blog / in, но исключать ссылки с / blog / css, / blog / js и / blog / images.Но это не так> <</p>

Ответы [ 2 ]

0 голосов
/ 08 октября 2010

Хорошо, попробовав много фантазий регулярных выражений, я пошел с KISS и придумал это. Надеюсь, это кому-нибудь поможет

 match URL into $ with ^/blog/(.*)$   
if matched 
match URL into $ with ^/blog/css/(.*)$
if not matched
match URL into $ with ^/blog/images/(.*)$
if not matched
match URL into $ with ^/blog/js/(.*)$
if not matched 
    set URL=/blog/404.php
endif
endif
endif
endif
0 голосов
/ 04 октября 2010

Я не представляю, как Зевс переписывает (я даже не слышал о продукте), но пока нет ответа от опытного пользователя: Согласно этому сообщению в блоге , возможноГнездо правил в Зевсе.

Что-то в этом духе может работать, чтобы отключить переписывание в / blog / css:

match URL into $ with ^/blog/css/(.*)           
if not matched 

  ... your 404 rewrite rule here

endif;

, это грамотное предположение, но если японять синтаксис правильно, он не должен быть слишком далеко.

...