Apache mod_将所有请求重写到一个文件中,特定目录除外
我有一个网站,我想重写我的网站上的所有请求到一个单一的页面。但是,如果有对特定子目录的请求,我希望这些请求像往常一样得到处理 这是我当前的.htaccess:Apache mod_将所有请求重写到一个文件中,特定目录除外,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一个网站,我想重写我的网站上的所有请求到一个单一的页面。但是,如果有对特定子目录的请求,我希望这些请求像往常一样得到处理 这是我当前的.htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^lib/(.*)$ lib/$1 [END]
<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]