我正在处理一个 Web 项目,并且要求它在顶级域以及像这样的域+目录路径上运行良好:
www.myDomain.com
www.myDomain.com/somedir/myproject/
Run Code Online (Sandbox Code Playgroud)
该项目很好地处理包含文件,
但是我没有设置我的 VHosts 来测试第二种情况 www.myDomain.com/somedir/myproject/
我目前的设置尽可能简单:
127.0.0.1 www.myDomain.com
Run Code Online (Sandbox Code Playgroud)
NameVirtualHost *:80
<Directory C:/Projects>
Order Deny,Allow
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot C:\wamp\www
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:\Projects\MyProject\public_html"
ServerName "www.myDomain.com"
</VirtualHost>
#@ToDo make this work ...
#<VirtualHost *:80>
# DocumentRoot "C:\Projects\MyProject\public_html"
# ServerName "www.myDomain.com/somedir/myproject/"
#</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)
我可以只使用虚拟主机吗?在本地机器上实现此设置的最佳实践是什么?