.htaccess 基于项目名称重写URL
我想了解文件名的重写是如何工作的。我有一个名为.htaccess 基于项目名称重写URL,.htaccess,url,rewrite,.htaccess,Url,Rewrite,我想了解文件名的重写是如何工作的。我有一个名为item.PHP的PHP文件。如果用户选择一个他得到的项目,例如item pencil.php,item book.php等等 我在htaccess中发现以下内容: RewriteEngine On RewriteBase /my/path RewriteRule ^item-.*-(.*).php show_item.php?id=$1 有人能详细解释一下这是怎么回事吗?文件show_item.php获取一个id参数。此规则仅对路径/my/pat
item.PHP
的PHP文件。如果用户选择一个他得到的项目,例如item pencil.php
,item book.php
等等
我在htaccess中发现以下内容:
RewriteEngine On
RewriteBase /my/path
RewriteRule ^item-.*-(.*).php show_item.php?id=$1
有人能详细解释一下这是怎么回事吗?文件show_item.php
获取一个id
参数。此规则仅对路径/my/path
有效*
似乎代表字符的任意数字,(.*)
表示可能多次出现。但是铅笔
或书
的名字从何而来
RewriteEngine On
RewriteBase /my/path
RewriteRule ^item-.*-(.*).php show_item.php?id=$1
说明:重写规则检查URL是否与给定模式匹配。模式表示url(不带主机,且重写库
部分)应以“项-
”开头,后跟任何*
,然后是“-”,之后允许使用任何字符(.*)
,然后是一个字符
,然后是“php”,最后可以包含任何内容
因此,如果您输入“http://www.yourdomain.com/my/path/item-www-ssss.php.php“在浏览器中,它将项www-ssss.phpphp
视为重写规则的第一个参数。it将模式应用于它。它与给定的模式匹配,并且给定的模式将被第二个参数show_item.php?id=$1
替换。因为$1
是ssss
,所以您的最终结果将是http://www.yourdomain.com/my/path/show_item.php?id=ssss.php
注意URL末尾的.php
说明:重写规则检查URL是否与给定模式匹配。模式表示url(不带主机,且重写库
部分)应以“项-
”开头,后跟任何*
,然后是“-”,之后允许使用任何字符(.*)
,然后是一个字符
,然后是“php”,最后可以包含任何内容
因此,如果您输入“http://www.yourdomain.com/my/path/item-www-ssss.php.php“在浏览器中,它将项www-ssss.phpphp
视为重写规则的第一个参数。it将模式应用于它。它与给定的模式匹配,并且给定的模式将被第二个参数show_item.php?id=$1
替换。因为$1
是ssss
,所以您的最终结果将是http://www.yourdomain.com/my/path/show_item.php?id=ssss.php
注意URL末尾的.php