in mod_rewrite / ISAPI_Rewrite, come faccio a fare regole riguardano specifici domini?
-
13-09-2019 - |
Domanda
Sono recentemente migrato da un host Linux ad un server dedicato con Windows 2003, ho avuto solo un sito utilizzando Mod_rewrite, ma con ISAPI _Rewrite 3 libera, le regole sono globali.
Come faccio a scrivere una condizione di influenzare solo "mysite.com" e non gli altri?
questo è il mio file httpd.conf
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.66
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?page=$1&id=$2 [L]
Io non voglio comprare ISAPI_Rewrite solo per questo un sito
Grazie
Soluzione
di Apache mod_rewrite , è possibile utilizzare il < a href = "http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags" rel = "nofollow noreferrer"> C
bandiera per la catena delle regole in questo modo:
RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^ - [C]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 [C]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?page=$1&id=$2 [L]
Se una regola non partita, tutte le seguenti regole concatenate vengono saltati. Ciò significa che, se la prima regola non corrisponde (nome host non è example.com
), le seguenti regole concatenati vengono saltati. Nota di non aggiungere il flag C
per l'ultima regola come la bandiera della catena.