我想使用通配符,因此允许使用任何页面地址。但我想使用一些静态页面地址,如用户登录,注册等等。我目前正在使用此方法,但正如我所料,它会尝试在每个网页地址上找到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
使用通配符到其他页面地址而不是静态页面地址?
提前致谢。
答案 0 :(得分: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]
答案 1 :(得分:0)
如果所有其他地址都不是文件,则可以在page.php
规则前加上
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* page.php?p=$0 [L]