我有以下 htaccess 文件:
RewriteEngine On
RewriteRule ^([^/]*)$ /bio.php?bio=$1 [L]
我需要它来执行以下操作:
- 获取以下重写的 URL:http://www.website.com/john-smith去/bio.php?bio=john-smith(目前的那种作品)
- 如果已经有一个文件夹(例如/about-us/),则改为显示该文件夹中的文件。目前它确实如此,但它在末尾添加了 ?bio=about-us。
- 如果可能的话,理想情况下使用 & 而不使用尾部斜线。
非常感谢任何帮助。
谢谢
最佳答案
尝试这样的事情:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ bio/bio.php?q=$1 [L]
如果找到匹配的物理文件,第一行将跳过 RewriteRule;如果找到匹配的目录,第二行将跳过它。第三行是满足上述条件时执行的重写规则。
关于php - 如果文件夹不存在重写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4469658/