[英].htaccess redirect only for resources
i'm trying a solution to have something like that: 我正在尝试一种解决方案,例如:
/dev/base/route.php -> include "/dev/base/mysite/index.php"
for php of course i've no problem using this system , all code is properly working, but for html tags ( such as <img
, <link
etc.. ) i need to redirect the requests to ./dev/base/mysite/
directory. 对于php当然,使用该系统我没有问题,所有代码都可以正常工作,但是对于html标签(例如
<img
, <link
等。),我需要将请求重定向到./dev/base/mysite/
目录。
I'm trying to solve it using htaccess (without changing url bar), using this code: 我正在尝试使用htaccess(不更改网址栏)并使用以下代码来解决此问题:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond /mysite/$0 -f
RewriteCond /mysite/$0 -d
RewriteRule ^$ /mysite/$0 [L]
but it doesn't work. 但这不起作用。 ( i'm not very skilled in mod_rewrite )
(我不太擅长mod_rewrite)
also, i cannot specify /dev/base/
path statically in htaccess file, it should be solved "automatically" because it can change according to workstation. 另外,我无法在htaccess文件中静态指定
/dev/base/
路径,应该“自动”解决它,因为它可以根据工作站进行更改。
so i need something that in pseudo-php code syntax should resemble it: 所以我需要在伪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;
thank you in advance! 先感谢您!
Change your code with this: 使用以下方法更改代码:
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]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.