我想用htaccess制作伪造的子目录(fakefolder/forget-password
带有重写mod),但是对我来说真的不起作用...
我有这个网址:
parent-directory/index.php?version=1&do=forget-password&[email protected]&token=85085ab92fcfd5dada280c73f7f494ec
*
注意:'email'变量正在使用mysql进行验证,filter_var
如果值是电子邮件,则可以使用它,因此也可以使用用户名(email=username
)。parent-directory
是真实目录。version
是动态的,可以是2或3或字符串,并且显示不同的结果,因此在这种情况下version=1
为fakefolder
。version=2
其他任何值都可以是(fakefolder2
)
和此htaccess
代码:
Options +FollowSymLinks -MultiViews
RewriteEngine On
# Set configuration file
php_value auto_prepend_file configuration.inc.php
# Start Rewriting
RewriteBase /parent-directory/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^fakefolder$ index.php?version=1 [QSA,L]
如果我尝试做这样的事情:RewriteRule ^([a-z])$/forget-password$ index.php?version=$1&do=forget-password [QSA,L]
它不起作用,或显示404
是否有可能?(如果是,那么它可以是多级的吗?例如index.php?version=1&do=forget-password&[email protected] -> ([a-z])$/forget-password/username
代替fakefolder/forget-password?email=...
)?
请原谅我的英语,非常感谢。
尝试以下规则:
# Set configuration file
php_value auto_prepend_file configuration.inc.php
Options +FollowSymLinks -MultiViews
RewriteEngine On
# Start Rewriting
RewriteBase /parent-directory/
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([\w-]+)/forget-password/([\w-]+)/?$ index.php?version=$1&do=forget-password&email=$1 [QSA,L,NC]
RewriteRule ^([\w-]+)/forget-password/?$ index.php?version=$1&do=forget-password [QSA,L,NC]
RewriteRule ^fakefolder/?$ index.php?version=1 [QSA,L,NC]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句