我想重写我的变量
../detail.php?id=910&type=car
../book.php?id=910&type=car
../detail/car/910
../book/car/910
但是我不知道如何编码,请给我代码和解释。由于
打开.htaccess
文件,确保你的RewriteEngine on
文件,然后写如下"RewriteRule"对于您的url:
RewriteRule ^detail/(.*)/(.*)$ detail.php?type=$1&id=$2 [NC,L]
RewriteRule ^book/(.*)/(.*)$ book.php?type=$1&id=$2 [NC,L]
如果你的重写规则不工作,那么在你的重写规则
之前添加以下行Options +FollowSymLinks
RewriteEngine On
上述规则说明:
RewriteRule
-告诉Apache这个like指向单个RewriteRule
。
^detail/(.*)/(.*)$ or ^book/(.*)/(.*)$
- 模式。服务器将检查对站点的每个请求的URL,以查看此模式是否匹配。如果是,那么Apache将把请求的URL替换为后面的替换部分。
detail.php?type=$1&id=$2 or book.php?type=$1&id=$2
——替换。如果上面的模式与请求匹配,Apache使用这个URL而不是请求的URL。
[NC,L]
- 标志,告诉Apache如何应用规则。在本例中,我们使用了两个标志。NC
,告诉Apache这个规则应该是不区分大小写的,L
告诉Apache如果使用了这个规则,就不要再处理任何规则。