我在.thaccess中有一个URL重写规则,它完全符合我的要求:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ /page.php?id=$1 [L]
因此,www.site.com/page.php?id=one
的请求会重定向到:www.site.com/one
,这就是所需要的。
但是,有一个问题 - 如果主目录中的任何其他文件名拼写错误,那么浏览器会重定向到www.site.com/page.php?id=
例如,如果www.site.com/other.php
的名称与www.site.com/otherr.php
之类的内容拼写错误,则.htaccess规则会启动,用户看到的网址为www.site.com/otherr.php
,而内容会显示是page.php
。
任何想法都需要更改重写规则中的哪些内容来修复此问题?