我想重定向,例如:
index.php?name=sarah
到
names/sarah.php
文件夹结构:
我试过了:
RewriteRule index.php?name=$1 /names/$1.php
和其他人,但没有找到解决方案。
这可能吗?如果是这样,你怎么能这样做?
注意:
另一种方式是
RewriteRule ^names/([^/]*)\.php$ index.php?q=$1 [QSA,L]
工作正常。
答案 0 :(得分:1)
这是你的规则:
RewriteCond %{QUERY_STRING} name=([^&]*)
RewriteRule ^.*$ /names/%1.php?
答案 1 :(得分:1)
第一个例子不会工作,因为你试图使用RewriteRule操纵查询字符串,但这是不允许的。您可以尝试以下方法:
RewriteEngine on
RewriteCond %{THE_REQUEST} / index\.php\?q=([^\s]+) [NC]
RewriteRule ^ /names/%1.php? [L,R]
RewriteRule ^names/([^/]*)\.php$ index.php?q=$1 [QSA,L]