我对htaccess重写规则很新。我需要将网址myurl.com/1000/samsung-123
重写为myurl.com/user/product.php?id=1000
。我在.htaccess
文件中使用了以下重写规则。
RewriteEngine on
RewriteBase /
RewriteRule ([0-9]+)/(.*)$ user/product.php?id=$1 [PT,L]
规则运作正常。但是它也会重写我的图片网址,如myurl.com/img/_product/1000/1000A.jpg
。
如何防止这个?如果在网址中输入了扩展名(.jpg
,.png
,.php
),是否可以跳过该规则?
答案 0 :(得分:0)
RewriteEngine on
RewriteBase /
RewriteCond img/_product/$1/$1A.jpg !-f
RewriteRule ([0-9]+)/(.*)$ user/product.php?id=$1 [PT,L]
也许这会有所帮助。
答案 1 :(得分:0)
您可以使用以下内容跳过静态文件。这不仅可以使用图像,还可以使用样式表,脚本等。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule ([0-9]+)/(.*)$ user/product.php?id=$1 [PT,L]