<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 我希望他们去index.php / $ 1。
我怎样才能做到这一点?
答案 0 :(得分:0)
您的规则应该有效,因为只有在请求的URL无法映射到现有文件(!-f
)而不是现有文件夹(!-d
)时才会应用。因此,如果/demo/test
是实际文件夹,则第二个条件(RewriteCond %{REQUEST_FILENAME} !-d
)将失败。如果请求/demo
并且既不是现有的常规文件也不是现有文件夹,则应将其重定向到/index.php/demo
。