0

我的 .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]
4

1 回答 1

0

只需添加另一个RewriteCond

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} attendees/$
RewriteRule ^(.+)$ /rewrite/index.php?pages=$1 [L]
于 2013-08-05T15:32:22.937 回答