http://example.com/results.php?products=apple
将更清晰地显示为:
http://example.com/products/apple
.htaccess文件中的行如下所示:
RewriteEngine on
RewriteRule ^products/([A-Za-z0-9-]+)/?$ results.php?products=$1 [NC]
这些工作正常。但问题是在此之后要求所有页面打开
产品/
这意味着我的 result.php 文件包含很多链接,所有链接都在 product / 中打开,并在服务器错误中显示一个不存在的文件。
答案 0 :(得分:1)
尝试这样,它会告诉服务器请求uri既不是文件也不是目录。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^products/([\w-]+)/?$ results.php?products=$1 [QSA,L,NC]