0

我想使用通配符,以便允许任何页面地址。但我想使用一些静态页面地址,如用户登录、注册等。我目前正在使用这种方法,但正如我所料,它会尝试page.php在每个页面地址上查找。

# KONTO
RewriteRule ^skapa-ett-konto$    account-create.php [L]
RewriteRule ^logga-ut$    account-logout.php [L]


# KONTO: Sidor som behöver laddas in genom jQuery/AJAX
RewriteRule ^slutfor-registreringen$    configurations/javascripts/ajax-form/account-create.php [L]
RewriteRule ^logga-in$    configurations/javascripts/ajax-form/account-login.php [L]



# --------------------------------------- #



# PROFIL
RewriteRule ^anvandare/([a-z0-9]+)$    profile.php?u=$1 [L]



# --------------------------------------- #



# ENSKILDA FILER
RewriteRule ^(.*)$    page.php?p=$1 [L]

我如何才能RewriteRule将通配符用于其他页面地址而不是静态地址?

提前致谢。

4

2 回答 2

1

如果我理解正确,您想从最后一条规则中排除一些现有页面,例如login和。registration排除它们的方法是这样的:

# ENSKILDA FILER
# Add other pages to exclude here
RewriteCond %{REQUEST_URI}  !(page\.php|login|registration)  [NC]
RewriteRule ^(.*)$    page.php?p=$1 [L]
于 2013-02-15T23:26:32.093 回答
0

如果所有其他地址都不是文件,您可以在page.php规则前加上

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* page.php?p=$0 [L]
于 2013-02-15T23:14:49.687 回答