1

我想这样做,以便访问 domain.com/xyz 将签入 web/,如果它在 web/ 中不存在,那么它将签入 website/,如果它不存在于其中任何一个中,它将检查在 web/app.php 中

如何配置虚拟主机(使用 mod_rewrite)来执行此操作?

谢谢

4

1 回答 1

2

尝试将其添加到您的虚拟主机配置中:

RewriteEngine On

# check if it exists in /web
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -d
# if exists, serve the file in /web
RewriteRule ^(.*)$ /web$1 [L]

# check if it exists in /website
RewriteCond %{DOCUMENT_ROOT}/website%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/website%{REQUEST_URI} -d
# if exists, serve the file in /website
RewriteRule ^(.*)$ /website$1 [L]

# otherwise, route through app.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/web
RewriteRule ^(.*)$ /web/app.php/$1 [L]

通过 app.php 的路由只是调用/web/app.php,它不会向脚本发送任何内容。

于 2012-07-26T19:37:33.270 回答