【发布时间】:2013-08-05 15:17:08
【问题描述】:
我的 .htaccess 中有以下内容
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /rewrite/index.php?pages=$1 [L]
这对于重写所有不存在的文件和目录非常有用。 但是现在我需要做另一个更具体的重写
条件应该是“如果请求的 URI 不存在并且它以参加者/结尾”然后 Apply RewriteRule ^(.+)$ /rewrite/attendees.php?pages=$1 [L]
如何应用?
一开始我以为会按照列出的顺序来读,于是试了一下:
RewriteCond %{REQUEST_FILENAME} employee [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /rewrite/attendees.php?pages=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /rewrite/index.php?pages=$1 [L]
但是失败了……
用这个解决了:
RewriteCond %{REQUEST_URI} (employee) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /rewrite/employee.php?pages=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /rewrite/index.php?pages=$1 [L]
【问题讨论】:
标签: .htaccess mod-rewrite