htaccess重定向问题 我当前的.htaccess: #启用URL重写 重新启动发动机 #将安装目录放在此处: #如果您的URL是www.example.com/,请使用/ #如果您的URL是www.example.com/kohana/,请使用/kohana/ 重写基/ #不要为存在的文件或目录启用重写 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D #对于不是实际文件或目录的reuest, #重写到index.php/URL 重写规则^(.*)$index.php/$1[PT,L]
当某人导航到: 我想让他们转到实际的文件夹。当某人导航到: 我想让它们转到index.php/$1htaccess重定向问题 我当前的.htaccess: #启用URL重写 重新启动发动机 #将安装目录放在此处: #如果您的URL是www.example.com/,请使用/ #如果您的URL是www.example.com/kohana/,请使用/kohana/ 重写基/ #不要为存在的文件或目录启用重写 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D #对于不是实际文件或目录的reuest, #重写到index.php/URL 重写规则^(.*)$index.php/$1[PT,L],.htaccess,mod-rewrite,.htaccess,Mod Rewrite,当某人导航到: 我想让他们转到实际的文件夹。当某人导航到: 我想让它们转到index.php/$1 如何实现这一点?您的规则应该有效,因为它仅在请求的URL无法映射到现有文件(!-f)而无法映射到现有文件夹(!-d)时才应用。因此,如果/demo/test是一个实际的文件夹,那么第二个条件(RewriteCond%{REQUEST\u FILENAME}!-d)应该失败。如果请求了/demo,并且既不是现有的常规文件,也不是现有的文件夹,则应将其重定向到/index。php/demo应移动到
如何实现这一点?您的规则应该有效,因为它仅在请求的URL无法映射到现有文件(
!-f
)而无法映射到现有文件夹(!-d
)时才应用。因此,如果/demo/test
是一个实际的文件夹,那么第二个条件(RewriteCond%{REQUEST\u FILENAME}!-d
)应该失败。如果请求了/demo
,并且既不是现有的常规文件,也不是现有的文件夹,则应将其重定向到/index。php/demo
应移动到serverfault.com以使demo/test成为文件夹,显然我必须创建一个名为demo的文件夹并在其中创建文件夹测试。@Alec Smart:是,-f
和-d
会导致真正的文件系统查找。
<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>