重写文件夹不起作用



我的服务器上存储在"SERVER_ROOT/app/1.0.1/index.php"中的应用程序。该应用程序可以通过输入"example.com/index.php"来访问,我使用重写来实现这一点。

我遇到的问题是我希望用户通过键入"example.com/image/"来访问"SERVER_ROOT/app/1.0.1/image/",但在编辑 .htaccess 文件时,我的重写都不起作用。

这是我的.htaccess文件:

Options -MultiViews
RewriteEngine on
RewriteBase /app/1.0.1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) index.php/$1 [L]
RewriteRule ^image/$ app/1.0.1/image/ [NC,L]
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

谢谢彼得

由于/image/目录实际上并不存在,因此它将被将所有内容路由到index.php的第一条规则捕获。假设您的 htaccess 文件位于文档根目录中,您需要在路由规则上方添加规则并将其更改为以下内容:

RewriteRule ^image/(.*)$ image/$1 [L]

如果您的 htaccess 文件不在文档根目录中,则需要将此规则添加到文档根目录中 htaccess 文件的顶部:

RewriteRule ^image/(.*)$ /app/1.0.1/image/$1 [L]

最新更新