我的服务器上存有“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]
谢谢, 彼得
答案 0 :(得分:0)
由于/image/
目录实际上并不存在,它将被第一个将所有内容路由到index.php的规则所困。假设您的htaccess文件位于文档根目录中,则需要在路由规则上方添加规则并将其更改为:
RewriteRule ^image/(.*)$ image/$1 [L]
如果文档根目录中的htaccess文件不是,则需要将此规则添加到文档根目录中htaccess文件的顶部:
RewriteRule ^image/(.*)$ /app/1.0.1/image/$1 [L]