htaccess重定向问题

时间:2009-11-02 11:38:26

标签: .htaccess mod-rewrite

我当前的.htaccess:

<IfModule mod_rewrite.c>
# Turn on URL rewriting
RewriteEngine On

# Put your installation directory here:
# If your URL is www.example.com/, use /
# If your URL is www.example.com/kohana/, use /kohana/
RewriteBase /

# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# For reuests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]


</IfModule>

当有人导航到:

  

http://mysite.com/demo/test

我希望他们转到实际的文件夹。当有人导航到:

  

http://mysite.com/demo   我希望他们去index.php / $ 1。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您的规则应该有效,因为只有在请求的URL无法映射到现有文件(!-f)而不是现有文件夹(!-d)时才会应用。因此,如果/demo/test是实际文件夹,则第二个条件(RewriteCond %{REQUEST_FILENAME} !-d)将失败。如果请求/demo并且既不是现有的常规文件也不是现有文件夹,则应将其重定向到/index.php/demo