是否可以转换此 URL:
example.com/send.php?url=google.com&name=&submit=submit
进入这个网址:
example.com/google.com
当我尝试时,我总是收到 404 或 500 错误,这令人沮丧。
这是我尝试过的一些方法。
RewriteRule ^([^/]*)$ /send.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^([-\w\.]*)$ /send.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^(.*)$ /send.php?url=$1&name=&submit=submit [NC,L]
如果不可能,请告诉我为什么。我对 mod_rewrite 还不太熟悉,想学习一下。
答案1
您可以尝试以下规则。
RewriteCond %{REQUEST_URI} !send.php
RewriteRule ^([-\w\.])$ /send.php?url=$1&name=&submit=submit [NC,L]
答案2
或者你可以尝试
RewriteRule ^(.*) /$1/? [L,R=301]
我不是重定向专家,但我认为末尾的问号会切断所有参数。
答案3
如果您不重写其他任何内容,只需使用:
FallBackResource /send.php
并解析 PATHINFO
答案4
如果您想解析参数以将其用作文件/目录,您应该尝试以下操作:
RewriteRule ^/send\.php\?url=([-\w\.])\&.*$ /$1 [NC,L]