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
Apache htaccess条件+;静态化_Apache_.htaccess_Url Rewriting - Fatal编程技术网

Apache htaccess条件+;静态化

Apache htaccess条件+;静态化,apache,.htaccess,url-rewriting,Apache,.htaccess,Url Rewriting,目前,我在htaccess中有设置,因此example.com/dept/noc转到:example.com/index.php?dept=dept&n=noc使用 RewriteEngine On RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA] RewriteCond %{SERVER_PORT} 80 我有一个名为upload的文件夹,如何确保url重写对/upload/文件夹无效(例外),因为

目前,我在htaccess中有设置,因此example.com/dept/noc转到:example.com/index.php?dept=dept&n=noc使用

RewriteEngine On
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]
RewriteCond %{SERVER_PORT} 80
我有一个名为upload的文件夹,如何确保url重写对/upload/文件夹无效(例外),因为

example.com/upload/file.doc不起作用?

试试:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/upload/.*
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]
RewriteCond %{SERVER_PORT} 80
尝试:


更通用的方法是,如果URL直接匹配现有文件或目录,则添加一个不重写的条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

这样,您就不必在重写规则中维护/upload、/images等文件夹的列表。如果/upload中不存在file.doc,则重写将完成。

更通用的方法是添加一个条件,如果URL直接匹配现有文件或目录,则不重写:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

这样,您就不必在重写规则中维护/upload、/images等文件夹的列表。如果/upload中不存在file.doc,则重写将完成。

您可以像下面这样比较特定组的匹配情况:

RewriteCond $1 !=upload
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]
请注意,
=表示词典比较,但也可以使用正则表达式:

RewriteCond $1 !^upload$
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]

您可以这样比较特定组的匹配:

RewriteCond $1 !=upload
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]
请注意,
=表示词典比较,但也可以使用正则表达式:

RewriteCond $1 !^upload$
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ index.php?dept=$1&n=$2 [QSA]

添加带异常的重写条件?添加带异常的重写条件?