使用htaccess将目录重定向到文件?

时间:2010-07-03 19:43:59

标签: .htaccess file active-directory

我正在尝试这样做......

将mysite.com/directory/重定向到mysite.com/directory/do

但是只有在打开“/ directory /”时才指向文件。我知道“DirectoryIndex”可以帮助解决这个问题,但我希望文件的名称(即“do”)出现在用户看到的url中。有没有办法用.htaccess来实现这个目的..?

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你需要这样的东西:

RewriteEngine On
# Only redirect if we're in /directory/ and *not* pointing at
# a file that already exists in the filesystem
RewriteCond %{REQUEST_URI} ^/directory/
RewriteCond %{REQUEST_URI} !-f
RewriteRule . /directory/do [R,L]

或者,如果您的意思是“当用户访问网址mysite.com/directory/ fullstop”时,您可能会认为这也是有效的:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/directory/$
RewriteRule . /directory/do [R,L]

编辑:如果/ do不是实际文件:

RewriteEngine On

RewriteCond %{REQUEST_URI}  ^/directory/
RewriteCond %{REQUEST_URI} !^/directory/do$
RewriteCond %{REQUEST_URI} !-f
RewriteRule . /directory/do [R,L]

答案 1 :(得分:-1)

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/redeem/surveys/$ [NC]
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(.*)$ /redeem/surveys/do$1 [L,R=301]

这有效......但它会更好......?