如果有人请求不存在的页面,例如
site.com/blabla/?search=blabla
使用此htacess
ErrorDocument 404 /
他们被重定向到主页并使用相同的网址site.com/blabla/?search=blabla
我想要做的是,将它们重定向到IP,而不是主页。试过这个;
ErrorDocument 404 http://64.233.185.94/
但它只是重定向到http://64.233.185.94/
我想用未找到的网址重定向它,因此它应该重定向到
http://64.233.185.94/blabla/?search=blabla
此时。
这样做的正确方法是什么?
答案 0 :(得分:1)
您需要使用mod_rewrite
规则代替ErrorDocument
:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !=64.233.185.94
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ http://64.233.185.94/$1 [L,R]
答案 1 :(得分:1)
您可以使用mod_rewrite来完成此任务。使用mod_rewrite,您可以测试所请求的文件或目录是否存在,如果它们不存在,您可以进行外部重定向:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILNEMAE} !-d
RewriteRule ^ http://64.233.185.94%{REQUEST_URI} [R,L]
在测试结果符合预期后,将R
标记更改为R=301
。