很抱歉,如果这里已经提出这个问题了。但我还没找到解决方案。
我有以下.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?page=$1 [L]
我想重写 domain.com/index.php?page=contact -To- domain.com/contact
中的网址是的,它运作良好。但问题是当我添加正斜杠/ 之类的 domain.com/contact /
它显示未找到页面。我认为浏览器将 contact / 识别为目录,但不识别文件。
我真的希望访问者能够通过这两种方式访问该页面,并使用正斜杠/结尾而没有它。如何使这项工作?
答案 0 :(得分:2)
在正则表达式中将尾随斜杠设为^([^/]+)/?$
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?page=$1 [L,QSA]