Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache mod_将所有请求重写到一个文件中,特定目录除外_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache mod_将所有请求重写到一个文件中,特定目录除外

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]

我有一个网站,我想重写我的网站上的所有请求到一个单一的页面。但是,如果有对特定子目录的请求,我希望这些请求像往常一样得到处理

这是我当前的.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]