我的域名下有一个包含sf2应用程序的子文件夹。访问该应用的实际网址如下: www.mydomain.com/subfolder/web
我想从网址中正确删除“/ web”。
我试图用我的subfoler中的htaccess做到这一点:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]
</IfModule>
重定向网络目录中的请求
但是当我想要使用此消息进入主页时它给了我404: “找不到'GET /子文件夹/'的路径
我知道我错过了什么,但我真的不知道什么,我真的不是htaccess的专家
PS:创建一个VirtualHost来解决问题是不可能的,因为我在共享主机上
答案 0 :(得分:1)
我使用符号链接。
来自webroot:
ln -s subfolder/web newfolder
答案 1 :(得分:0)
查看RewriteRule的文档 http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
您传递的第一个参数是匹配的模式
您基本上匹配子文件夹中的任何目录并将其重定向到 网/
我认为你想要的是这样的
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} ! ^subfolder/web.
RewriteRule ^subfolder(.*)$ subfolder/web/$1 [QSA,L]
所以我认为这样做如下: