如何使用2个mod_rewrite块?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)'.zaks'.ir$ [NC]
RewriteCond $1 !^(www|ftp|mail)$ [NC]
RewriteRule ^.*$ index.php?id=%1
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
如何在1 htaccess文件中使用上述代码块?
您可以很容易地组合块,如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)'.zaks'.ir$ [NC]
RewriteCond $1 !^(www|ftp|mail)$ [NC]
RewriteRule ^.*$ index.php?id=%1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
Mod_rewrite将处理这些条件,直到它达到一个规则。然后,它从下一个条件开始,直到达到另一个规则。第一个区块中的条件不会影响第二个区块的条件,因为在第一组条件的末尾有一个RewriteRule
。
我想要这个地址
param1.mysite.com/param2
我转到这个地址
mysite.com?p=param1&url=param2
然而,上面的代码可以给朋友们,我很感激的帮助
我发现。。。。。。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{HTTP_HOST} !^www.mysite.ir [NC]
RewriteCond %{HTTP_HOST} ([^'.]+).mysite.ir [NC]
RewriteRule ^(.*)$ index.php?id=%1&url=$1 [L,NC]
</IfModule>