Apache 使用get参数将目录重写为php文件

Apache 使用get参数将目录重写为php文件,apache,.htaccess,url-rewriting,Apache,.htaccess,Url Rewriting,我想将用户从 localhost/test/Mj4sD 到 而Mj4sd是5个字母(小写、大写、数字)的模式。 我当前的配置: Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/test/[A-Za-z][0-9]{0,5}$ /test/short.php?url=$1 您必须将重写规则更

我想将用户从

localhost/test/Mj4sD

而Mj4sd是5个字母(小写、大写、数字)的模式。 我当前的配置:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/test/[A-Za-z][0-9]{0,5}$ /test/short.php?url=$1

您必须将
重写规则更改为:

RewriteRule ^(\w+)$ ./short.php?url=$1

您必须将
重写规则更改为:

RewriteRule ^(\w+)$ ./short.php?url=$1

代码非常简单(转换路径以获取请求)。为什么代码对您来说不明确@AmitGaud因为你们并没有解释这方面的任何内容,所以一个好的答案总是有一些解释,以便将来也可以使用它,用户不必每次都阅读问题@mshomali@mshomali你的回答不符合确切的要求。1. <代码>\w+
中还包括根本不需要的
\u
。2.OP希望捕获
/test/
之后的所有内容,但在您的回答中,您捕获了整个请求。@mshomali您知道这个表达式是什么意思吗
[A-Za-z][0-9]{0,5}
?这意味着在
a-Z
a-Z
和五位数字之间匹配一个字符。应该这样组合
([A-Za-z0-9]{0,5})
。代码非常简单(转换路径以获取请求)。为什么代码对您来说不明确@AmitGaud因为你们并没有解释这方面的任何内容,所以一个好的答案总是有一些解释,以便将来也可以使用它,用户不必每次都阅读问题@mshomali@mshomali你的回答不符合确切的要求。1. <代码>\w+
中还包括根本不需要的
\u
。2.OP希望捕获
/test/
之后的所有内容,但在您的回答中,您捕获了整个请求。@mshomali您知道这个表达式是什么意思吗
[A-Za-z][0-9]{0,5}
?这意味着在
a-Z
a-Z
和五位数字之间匹配一个字符。应该这样组合
([A-Za-z0-9]{0,5})