2011-12-19 3 views
0

Я пытаюсь сделать следующее ...ISAPI Rewrite, если файл с .EXT существует, то разрешить его как URL папки

Если страница называется login.asp существует, то разрешить переписать его, как/логин/но делать не допускать прямого доступа к 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

ответ

0

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

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] 
+0

Я обновил этот вопрос, чтобы сделать его более четким. –