如何组合这个重写块:
RewriteCond %{HTTP_HOST} ^81\.216\.147\.82 [OR]
RewriteCond %{HTTP_HOST} ^192\.168\.1\.9 [OR]
RewriteCond %{HTTP_HOST} ^domain\.nu
RewriteRule (.*) http://www.domain.nu/$1 [R=301,L]
有这个吗?
RewriteCond $1 ^(blogg|tjanster|om-oss|kontakt|P[0-9]{2,8}) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]
第一个只是从ip重写到域。第二个做index.php将自动调用,如domain.nu/blogg将通过index.php
答案 0 :(得分:0)
如何用第一次重写替换:
RewriteCond %{HTTP_HOST} ^(81\.216\.147\.82|192\.168\.1\.9|domain\.nu)
RewriteCond $1 ^(blogg|tjanster|om-oss|kontakt|P[0-9]{2,8}) [NC]
RewriteRule (.*) http://www.domain.nu/index.php/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(81\.216\.147\.82|192\.168\.1\.9|domain\.nu)
RewriteCond $1 ^index.php/(blogg|tjanster|om-oss|kontakt|P[0-9]{2,8}) [NC]
RewriteRule (.*) http://www.domain.nu/$1 [R=301,L]
第一个句柄是index.php隐式的情况,第二个是显式的。两个cond集是互斥的,因此梯形逻辑工作。 (条件是regexp,因此使用regexp语法而不是[OR]更简单。)