嘿,我正在尝试对搜索引擎友好的 URL 进行 mod-rewrite,如果找不到文件,这些 URL 会解析为 404 页面。当我让它为不解析为文件的目录(即搜索/.php)工作时,因为找不到匹配项,那么当找到匹配项时它就不起作用。
基本上,当您转到 url/search/ 时,如果有索引页面并且 url/search/filename 应该解析为搜索目录内的 filename.php ,我需要它工作。有谁知道如何做到这一点?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? - [S2] #file not found, skip to 404
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule .? - [S1] #file found, ignore redirect to 404
RewriteRule (.*) 404.php?file=$1