我在这里看到了一些解决方案,但他们没有帮助我。
我的index.php在这里:http://localhost/basic-2/web/index.php
。
我想说明如果我输入http://localhost/basic-2
,浏览器会将我重定向到http://localhost/basic-2/web/index.php
路径,但在浏览器中,该网址为http://localhost/basic-2/index.php
地址。
所以我想从网址中删除(或隐藏)web
子文件夹。
我在这里看到了许多解决方案......但没有:(,现在我有了这个:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/web/$1 -f [NC]
RewriteRule ^([^/]+)$ /web/$1 [P,L,QSA]
但这仅列出文件夹和文件...而不是重定向到子文件夹。
这可以重定向,但不会隐藏URL中的web
文件夹。
RewriteEngine On
RewriteRule ^$ web [L]
EDIT1 我找到了另一条规则:
RewriteEngine On
RewriteRule ^$ web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web/$1
这可以重定向!但此规则不会隐藏(或删除)web
文件夹仍然...
答案 0 :(得分:0)
尝试类似:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /basic-2/
RewriteCond %{DOCUMENT_ROOT}/basic-2/web/$1 -f [NC]
RewriteRule ^(.*)$ web/$1 [P,L,QSA]
RewriteCond %{THE_REQUEST} \ /basic-2/web/([^\?\ ]*)
RewriteRule ^ /basic-2/%1 [L,R=301]