例如,当我去url / [一个7字符的字母数字字符串]时,localhost / delta / SW9NZ1p 或www.website.com/delta/SW9NZ1p,它应该将其重写为localhost / delta / product.php?url = SW9NZ1p或www.website.com/delta/product.php?url=SW9NZ1
目标:当我正在查看localhost / delta / SW9NZ1p时,我应该看到从localhost / delta / product.php执行的代码?url = SW9NZ1p但是url bar应该显示localhost / delta / SW9NZ1p
您能告诉我以下代码有什么问题吗?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^delta/([a-zA-Z0-9]{7,})/?$ product.php?url=$1 [NC,L]
</IfModule>
答案 0 :(得分:0)
你可能没有找到错误,因为如果你在root中使用htaccess然后使用,apache可能会真正搜索delta/as23221
,
在 delta 目录
中尝试此操作RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]{7,})/?$ product.php?url=$1 [NC,L]
在root中尝试以下,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]{7,})/?$ delta/product.php?url=$1 [NC,L]