我想在接收到一个不是文件的请求时重写URL,或者是根目录subdir或者根本不是一个目录。
例如( !file )&&(( subdir )|( !directory ))
这是我的.htaccess :
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} ^/(subdir|subdir/.*).*$ [OR] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+) index.php?request=$1 [QSA]
除了subdir以外,它可以在任何地方使用 捕获subdir的重写条件不起作用,它的行为就好像根本没有重写规则。 我在这里做错了什么?
好吧,我的错。 我是个白痴。 我不是在web根目录下工作,我在web根目录下的一个子目录下工作。 意思就是:
RewriteCond %{REQUEST_URI} ^/(subdir|subdir/.*).*$ [OR]
看着错误的地方。 我应该做的
RewriteCond %{REQUEST_URI} /(subdir|subdir/.*).*$ [OR]
要么
RewriteCond %{REQUEST_URI} ^/mydivision/(subdir|subdir/.*).*$ [OR]