简化我的htaccess

时间:2012-01-26 17:21:34

标签: .htaccess redirect

目前,我的.htaccess文件如下所示:

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule /album2 /galleries/album2 [QSA,L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule /album /galleries/album [QSA,L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*\.exe)$ /slideshows/$1 [QSA,L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /photos/$1 [QSA,L]

这对我来说似乎有些混乱,因为我重复对目录和文件的那些检查。必须有更好的方法来做到这一点。

我想要完成的是重定向到不同的文件夹,具体取决于所请求的文件或文件夹是否存在。一切都用在网站的根目录中,但这变得无法管理。我希望脚本基本上检查这些文件或文件夹是否存在于几个不同的目录中,如果存在,则重定向到它。

1 个答案:

答案 0 :(得分:0)

全部清理干净,枕头上还有薄荷: - )

RewriteCond %{ENV:REDIRECT_STATUS} 200 [OR]
RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule /album2 /galleries/album2 [L]

RewriteRule /album /galleries/album [L]

RewriteRule ^(.*\.exe)$ /slideshows/$1 [L]

RewriteRule (.*) /photos/$1 [L]