预期目标: 在现有网站上,我需要实施一个新网站。新站点需要“分阶段”实施,因此为“dev”和“test”和“site”创建了一个子目录。除了使用不同的用户帐户和数据库这一事实之外,所有三个子目录都包含相同的 php/mvc 实现。驻留在根目录中的当前站点也应保持正常工作。
当前配置尝试: 我在当前网站的根目录下放了一个 .htaccess 文件。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/dev(.*)$ <url>/dev/$1
RewriteRule ^/test(.*)$ <url>/test/$1
RewriteRule ^/site(.*)$ <url>/site/$1
注意:而不是有一个完整的网址。这应该将所有带有 'dev' 的 url 重定向到 /dev/$1 并且 $1 包含所有其余参数。
结果: 当调用'test'或'site'的'dev'主页时。主页显示得很好。
问题: 每次我单击菜单项或链接时,生成的 url 都会被重写为正确的 url,即:/dev/volunteering?page=volunteering&lang=nl
但我收到错误消息 404:
The requested URL /dev/volunteering was not found on this server.
请记住,它是关于自定义 mvc 实现的。
需要的帮助: 需要进行哪些更改才能使浏览器了解此类请求不应由当前网站处理,但根据“开发”或“测试”或“站点”,请求应转发到适当的以 mvc 实现理解的方式创建子目录?