如何在存在但位于目录中时重定向到文件?

时间:2014-10-30 18:26:53

标签: regex apache .htaccess mod-rewrite redirect

如何重定向webbrowsers要求:

http://example.com/ico/my_ico.png

http://example.com/ico/_cache/my_ico.png

当图标存在于_cache目录中,并重定向到:

http://example.com/ico/index.php?page=my_ico.png

_cache目录中不存在所请求的文件?

我尝试了这个,但它继续使用index.php,而不是去_cache目录:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule ^(.*)$ _cache/$1 [QSA,L]
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

1 个答案:

答案 0 :(得分:1)

您可以在/ico/.htaccess文件中使用此代码:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /ico/

RewriteCond %{DOCUMENT_ROOT}/ico/_cache/$1 -f [NC]
RewriteRule ^(.+)$ _cache/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?page=$1 [L]