如何更改.htaccess以进行以下网址重写?

时间:2017-07-04 11:18:22

标签: php apache .htaccess mod-rewrite

例如,当我去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>

1 个答案:

答案 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]