Php 如何在单个.htaccess文件中使用2个mod_重写

Php 如何在单个.htaccess文件中使用2个mod_重写,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,如何使用2个mod_重写块 <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

如何使用2个mod_重写块

<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>

重新启动发动机
重写cond%{HTTP\u HOST}^([^.]+)\.zaks\.ir$[NC]
1美元^(www | ftp | mail)$[NC]
重写规则^.*$index.php?id=%1
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$/index.php?url=$1[QSA,L]

如何在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>

重新启动发动机
重写cond%{HTTP\u HOST}^([^.]+)\.zaks\.ir$[NC]
1美元^(www | ftp | mail)$[NC]
重写规则^.*$index.php?id=%1
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$/index.php?url=$1[QSA,L]
Mod_rewrite将处理这些条件,直到形成规则。然后,它从下一个条件开始,直到达到另一个规则。第一个块中的条件不会影响第二个块中的条件,因为在第一组条件的末尾有一个重写规则。

我想要这个地址

 param1.mysite.com/param2 
 mysite.com?p=param1&url=param2 
我转向这个地址

 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>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-L
重写cond%{HTTP_HOST}^www.mysite.ir[NC]
重写cond%{HTTP_HOST}([^\.]+).mysite.ir[NC]
重写规则^(.*)$index.php?id=%1&url=$1[L,NC]

我想要这个地址param1.mysite.com/param2我转到了这个地址。mysite.com?p=param1&url=param2然而,上面的代码可以帮助我的朋友,我非常感谢他们的帮助