这是我的完整案例:
/var/www/html/ 目录中的 mvcframework 目录。
mvcframework 包含一个公共目录,其中 index.php 作为前端加载器。
我正在使用以下代码在公共目录中创建一个 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?$1 [QSA,L]
</IfModule>
我通过设置为指向公共文件夹的虚拟主机 url mvcframe.local 访问它:
<VirtualHost 127.0.0.3:80>
ServerName mvcframe.local
DocumentRoot /var/www/html/mvcframework/public
<Directory /var/www/html/mvcframework>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/www/html/mvcframework/mvc-error.log
CustomLog /var/www/html/mvcframework/mvc-access.log combined
</VirtualHost>
当我访问http://mvcframe.local或http://mvcframe.local/时,它会在公用文件夹 index.php 中输出 index.php 内容。
当我访问http://mvcframe.local/?posts/hello它输出:
Requested URL = posts/hello
但是当我访问http://mvcframe.local/posts/hello删除?时,它给出:
Not Found
The requested URL was not found on this server.
Apache/2.4.41 (Ubuntu) Server at mvcframe.local Port 80
我试图找出搜索 2 小时的解决方案,但仍然没有找到解决方案。
海绵宝宝撒