2016-05-30 55 views
0

我想重写我的网址到另一个文件,如果他们不存在。我在我的网站的根目录中有一个.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.comexample.com/test/正确重写)以外的路由,否则主要和辅助重定向不起作用。

任何洞察力,非常感谢。

回答

0

使用:

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] 

.因为是至少等于一个字符。

+1

谢谢!我没有想到这一点。 – user3703517

相关问题