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

时间:2014-10-24 05:39:12

标签: .htaccess mod-rewrite rewrite

我想重写

mydir/xxxmydir/fileA.php?param=xxx

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

xxxyyy是通配符。

我已经尝试了

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

但是我收到500错误配置错误。

1 个答案:

答案 0 :(得分:1)

您可以在根目录.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]