ISAPI Переписать, если файл с расширением .ext существует, затем разрешить его в качестве URL-адреса папки - PullRequest
0 голосов
/ 19 декабря 2011

Я пытаюсь сделать следующее ...

Если существует страница с именем login.asp, разрешите переписать ее как / login /, но не разрешите прямой доступ к login.asp.

Вот мой код.

# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.87

RewriteEngine On
# if file is not exists
RewriteCond %{DOCUMENT_ROOT}/$1 !-f

# if folder is not exists
RewriteCond %{DOCUMENT_ROOT}/$1 !-d

# From start to end, "^(\w+)[/]+$" only matches with one or more alphanumeric characters and "_".
# Alternatively can end with one or more slashes.
# Change [R = 302, L] to [L] if you want make a rewrite instead of redirect.

RewriteRule ^(\w+)[/]*$ /username.asp?username=$1 [L]

Так что, если вы представите, что пользователь вводит www.web.com/contact, если есть страница с именем contact.asp, она отображает переписанный контент.Если страница .asp не существует, она загружает содержимое из /user.asp?username=contact, чтобы проверить, является ли он профилем пользователя.

Очень приветствуется!

C

1 Ответ

0 голосов
/ 19 декабря 2011

Попробуйте использовать:

RewriteEngine On
# if reqiested url+.asp exists
RewriteCond %{REQUEST_FILENAME}\.asp -f
# if folder does not exist
RewriteCond %{REQUEST_FILENAME} !-d
Rewrite requested one-level url to target place
RewriteRule ^(\w+)/?$ /username.asp?username=$1 [NC,L]
...