繁体   English   中英

mod_rewrite所有请求到一个文件(特定目录除外)

[英]mod_rewrite all requests to one file except particular directories

我有一个网站,我想将网站上的所有请求重写为一个页面。 但是,如果有对特定子目录的请求,我希望这些请求能够照常处理。

这是我当前的.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^lib/(.*)$ lib/$1 [END]
RewriteRule ^scripts/(.*)$ scripts/$1 [END]
RewriteRule ^styles/(.*)$ styles/$1 [END]
RewriteRule ^tpl/(.*)$ tpl/$1 [END]
RewriteRule ^services/(\w+)$ services/$1.php [END]
RewriteRule ^services/(\w+)/(\w+)$ services/$1.php?id=$2 [END]
RewriteRule ^.*$ index.html [END]
</IfModule>

如果我转到site/scripts/ascript.js则可以使用:脚本已交付。 除lib规则外,所有规则均有效。

如果我转到site/lib/something.js它不起作用,则传递index.html。

为什么lib不起作用?

有这样的规则:

RewriteEngine On
RewriteBase /

RewriteRule ^lib/(.*)$ lib/$1 [END]
RewriteRule ^scripts/(.*)$ scripts/$1 [END]
RewriteRule ^styles/(.*)$ styles/$1 [END]
RewriteRule ^tpl/(.*)$ tpl/$1 [END]
RewriteRule ^services/(\w+)$ services/$1.php [END]
RewriteRule ^services/(\w+)/(\w+)$ services/$1.php?id=$2 [END]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ index.html [END]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM