我遇到了将404错误重定向到我的404页面的问题,并且我猜测它与我的重写规则有关,因为当我删除它时,它完美地工作,但我无法做到找到解决方法。
我有这个.htaccess
ErrorDocument 404 /404
Options +FollowSymLinks -MultiViews
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?username=$1 [QSA,L]
我重写了所有
profile.php?username=name
到
domain.com/name
对于漂亮的网址。这很好。
现在我的问题是我遇到404错误。它不是重定向到我的404页面,而是加载我的网站,没有任何CSS,只是简单的html和实际的网址。
示例:让我们说我转到domain.com/name并且用户名存在,一切正常。但是,如果转到domain.com/name/something,它会加载普通的html而不是404,我知道域名/名称中没有任何内容,所以它应该返回404。
我的重写规则可以吗?如果有人能帮助我,我会感激它!