我使用.htaccess文件将所有请求重定向到位于子文件夹中的index.php文件。
文件夹和文件结构:
/var/www/html/.htaccess
/var/www/html/my-folder/index.php
主html文件夹中没有任何内容,但.htaccess文件和my-folder目录。
我的.htaccess文件内容是:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /my-folder/index.php [L]
所有请求实际上都被重定向到my-folder中index.php文件的正确位置。所有请求但请求url只是主机名。例如:
www.my-host.com/path -> Redirects correctly
www.my-host.com/path/ -> Redirects correctly
www.my-host.com/path/another-path -> Redirects correctly
www.my-host.com/file.php -> Redirects correctly
www.my-host.com -> Won't redirect
www.my-host.com/ -> Won't redirect
我做错了什么?
答案 0 :(得分:0)
模式中的.
表示URI中必须包含某些内容,请尝试将其设为可选内容或使用^
代替:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /my-folder/index.php [L]