当收到不是文件、而是目录subdir
或者根本不是目录的请求时,我想重写 URL。
例如 ( !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
不起作用,它的行为就像根本没有重写规则一样。我在这里做错了什么?
答案1
好吧,是我的错。我是个白痴。我没有在 Web 根目录中工作,而是在 Web 根目录中的子目录中工作。这意味着:
RewriteCond %{REQUEST_URI} ^/(subdir|subdir/.*).*$ [OR]
找错了地方。我应该
RewriteCond %{REQUEST_URI} /(subdir|subdir/.*).*$ [OR]
或者
RewriteCond %{REQUEST_URI} ^/mydivision/(subdir|subdir/.*).*$ [OR]