我有这个重定向htaccess代码将file.php更改为/ file /所以URLS更加SEO友好。
RewriteEngine On
# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
然而,当有人输入错误的网址时,例如:domain.com/file/whateverblablabla-wrong
我收到内部服务器错误。
我希望它能够重定向到主页,或者如果我选择404页面的特定网址,那么我可以拥有一个站点地图或其他东西......
非常感谢, -O
答案 0 :(得分:0)
尝试在.htaccess:
之上添加此行ErrorDocument 404 /404.php
RewriteEngine On
# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
这将禁用任何先前设置的ErrorDocument
指令。