Php 如何为以下url重写更改.htaccess?
当我转到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栏应该显示localhost/delta/SW9NZ1p 你能告诉我下面的代码有什么问题吗Php 如何为以下url重写更改.htaccess?,php,apache,.htaccess,mod-rewrite,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=SW
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^delta/([a-zA-Z0-9]{7,})/?$ product.php?url=$1 [NC,L]
</IfModule>
重新启动发动机
重写规则^delta/([a-zA-Z0-9]{7,})/?$product.php?url=$1[NC,L]
您可能会遇到“未找到”错误,因为如果您在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]
试试下面的根目录
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]{7,})/?$ delta/product.php?url=$1 [NC,L]
描述“不工作”!我找不到你。你能详细说明一下吗?声称它应该起作用。可能是
mod_rewrite
模块实际上没有启用。我在delta目录中有.htacess文件。然后用第一部分中的条件尝试第二个重写规则。如果www.website.com/SW9NZ1p应该重写为www.website.com/delta/product.php,我该怎么办?url=SW9NZ1p你可以跳舞,很抱歉,我没有理解您。如果我转到url www.website.com/SW9NZ1p,它应该在内部重写为www.website.com/delta/product.php?url=SW9NZ1p。如何通过更改delta目录中的.htaccess文件来实现这一点?