我喜欢这个htaccess:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /?p=$1&title=$2 [L]
所以我可以将example.com/123/hey
重写为example.com/?p=123&title=hey
但现在我无法再直接调用example.com/pics/jo.jpg
这样的文件
有没有办法直接调用文件并通过修改htaccess或其他东西保留重写规则?
答案 0 :(得分:0)
您无法呼叫/pics/jo.jpg
的原因是因为您的模式^([^/]*)/([^/]*)$
符合此表单/foo/bar
的所有请求,因此请求/foo/bar.jpg
时您的规则将其重写为/?p=foo&title=bar.jpg
。要解决此问题,您需要使用RewriteConds
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ /?p=$1&title=$2 [L]