.htaccess 如果请求目录或子目录,如何重写

.htaccess 如果请求目录或子目录,如何重写,.htaccess,mod-rewrite,rewrite,.htaccess,Mod Rewrite,Rewrite,我想重写 mydir/xxxtomydir/fileA.php?param=xxx 及 mydir/xxx/yyytomydir/fileB.php?param=yyy xxx和yyy是通配符。 我试过了 RewriteRule ^mydir/(.*)/(.*)$ mydir/fileA.php?param=$2 RewriteRule ^mydir/(.*)$ mydir/fileB.php?param=$1 但是我得到了500个错误配置。您可以在根目录中使

我想重写

mydir/xxx
to
mydir/fileA.php?param=xxx

mydir/xxx/yyy
to
mydir/fileB.php?param=yyy

xxx
yyy
是通配符。

我试过了

RewriteRule ^mydir/(.*)/(.*)$       mydir/fileA.php?param=$2
RewriteRule ^mydir/(.*)$            mydir/fileB.php?param=$1

但是我得到了500个错误配置。

您可以在根目录中使用这些规则。htaccess:

RewriteEngine On
RewriteBase /

# skip real files and directories from more rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^mydir/[^/]+/([^/]+)/?$ mydir/fileA.php?param=$1 [L,QSA]
RewriteRule ^mydir/([^/]+)/?$       mydir/fileB.php?param=$1 [L,QSA]

规则似乎与需求无关。
/xxx
/home
有什么关系?你能再澄清一点要求吗。
/home
可以是
/
,没关系,我只是用它作为例子。我不清楚这个问题。请重新措辞以帮助解释。我能把它放在我的根
.htaccess
而不是
/mydir/
中吗?