htaccess重定向到主页与坏网址

时间:2014-08-07 15:46:52

标签: php apache .htaccess mod-rewrite redirect

我有这个重定向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

1 个答案:

答案 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指令。