我正在尝试找到类似的解决方案:
/dev/base/route.php -> include "/dev/base/mysite/index.php"
对于php当然我使用这个系统没问题,所有代码都正常工作,但是对于html标签(例如<img
,<link
等...)我需要重定向请求到./dev/base/mysite/
目录。
我正在尝试使用htaccess(不更改url栏)来解决它,使用此代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond /mysite/$0 -f
RewriteCond /mysite/$0 -d
RewriteRule ^$ /mysite/$0 [L]
但它不起作用。 (我在mod_rewrite方面不是很熟练)
另外,我无法在htaccess文件中静态指定/dev/base/
路径,它应该“自动”解决,因为它可以根据工作站进行更改。
所以我需要一些在伪PHP代码语法中应该类似的东西:
if ( file_exists(SITE_ROOT_DIR."/mysite/".$request) && !file_exists(SITE_ROOT_DIR."/".$request) )
$url=SITE_ROOT_DIR."/mysite/".$request;
else
$url=SITE_ROOT_DIR."/".$request;
提前谢谢你!
答案 0 :(得分:0)
使用以下代码更改您的代码:
RewriteBase /dev/base/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]
RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -d [OR]
RewriteCond %{DOCUMENT_ROOT}/dev/base/mysite/$1 -l
RewriteRule ^(.*?)/?$ mysite/$1 [L]