Apache重写如果文件找不到另一个文件?
问题描述:
我想重写我的网址到另一个文件,如果他们不存在。我在我的网站的根目录中有一个.htaccess
文件,看起来像这样。Apache重写如果文件找不到另一个文件?
RewriteEngine on
# Add slash to end of request
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
# API redirect
RewriteCond %{REQUEST_URI} ^/api
RewriteRule . api/v1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST}^secondary\.
RewriteRule . sites/secondary [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . sites/main.php [L]
我的意图是从同一个文件夹提供两个站点,并使用重写指向相应的路由器。 api重定向很好。但是,除非我指定example.com
(example.com/test/
正确重写)以外的路由,否则主要和辅助重定向不起作用。
任何洞察力,非常感谢。
答
使用:
RewriteEngine on
# Add slash to end of request
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule^%{REQUEST_URI}/ [R=301,L]
# API redirect
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api api/v1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST}^secondary\.
RewriteRule^sites/secondary [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^sites/main.php [L]
.
因为是至少等于一个字符。
谢谢!我没有想到这一点。 – user3703517