路由问题 using.htaccess 和本地主机 url

Problems with routing using.htaccess and localhost url

我正在尝试使用 Apache mod_rewrite 将流量从我的部署 url 路由到我的 MCV 控制器。但我一直收到 "Internal Server Error".

规格: Windows 10,WAMP

本地主机url:taskmanager.local

.htaccess 文件:

<IfModule mod_rewrite.c>
    Options -Multiviews
    RewriteEngine On
    RewriteBase taskcomplete.local/public
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ index.php?url= [QSA,L]
</IfModule>

虚拟主机:

# TaskComplete
<VirtualHost *:80>
  DocumentRoot "D:\Dropbox\web\projects\php\task_complete"
  ServerName taskcomplete.local
  <Directory "D:\Dropbox\web\projects\php\task_complete">
    Options Indexes FollowSymLinks ExecCGI Includes
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

好的,经过一些随意的摸索,我解决了这个问题。我对 .htaccess 文件和 httpd-vhost.conf 文件以及所有内容进行了一些更改,现在 localhost url 指向 /public 文件夹。

.htaccess 文件:

<IfModule mod_rewrite.c>
    Options -Multiviews
    RewriteEngine On
    RewriteBase /public                          
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ index.php?url= [QSA,L]
</IfModule>

变化 taskcomplete.local/public => /public

虚拟主机:

# TaskComplete
<VirtualHost *:80>
  DocumentRoot "D:\Dropbox\web\projects\php\task_complete"
  ServerName taskcomplete.local
  <Directory "D:\Dropbox\web\projects\php\task_complete">
    Options Indexes FollowSymLinks ExecCGI Includes
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

更改 D:\Dropbox\web\projects\php\task_complete => D:\Dropbox\web\projects\php\task_complete\public