Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果文件或目录不存在';无法使用.htaccess存在_.htaccess - Fatal编程技术网

如果文件或目录不存在';无法使用.htaccess存在

如果文件或目录不存在';无法使用.htaccess存在,.htaccess,.htaccess,我正在免费托管网站000webhost上托管一个域,我想将所有不存在的文件或文件夹重定向到我的主页。我使用的代码是: RewriteEngine on rewritecond %{http_host} ^domain\.com$ [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,l] RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http

我正在免费托管网站000webhost上托管一个域,我想将所有不存在的文件或文件夹重定向到我的主页。我使用的代码是:

RewriteEngine on
rewritecond %{http_host} ^domain\.com$ [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,l]

RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.domain.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.html
  • 它可以工作,但url不会更改为主页。比如,如果我试图打开
    www.domain.com/blaa
    ,它会将我重定向到主页,但URL仍然是
    www.domain.com/blaa
    。我想把它改成
    www.domain.com

  • 如果我试图打开一个有效的目录,它存在于我的根文件夹中,它也会重定向到主页。例如,如果我试图打开
    www.domain.com/folder
    ,它应该会在该文件夹中生成文件和目录,而不是将我重定向到主页,网址仍然与
    www.domain.com/folder
    相同

  • 此外,我想继续使用上述两条规则打开WWW网站和WWW.domain.com的index.html网站

    请帮帮我


    提前感谢。

    根据您的问题标题,如果请求不是文件或目录,要重定向到主页,您可以使用:

    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ / [L]
    
    您还可以使用ErrorDocument指令将不存在的请求重写到主页

    ErrorDocument 404 /
    

    根据您的问题标题,如果请求不是文件或目录,则要重定向到主页,您可以使用:

    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ / [L]
    
    您还可以使用ErrorDocument指令将不存在的请求重写到主页

    ErrorDocument 404 /
    

    谢谢你的回复,我很感激。您建议我使用的代码可以正常工作,但url仍然不会更改为主页,它与我键入的相同。比如,如果我试图打开www.domain.com/blaa,当然它不在我的目录中,它会将我重定向到主页,但url仍然是相同的www.domain.com/blaa。可以改为www.domain.com吗?还有一件事我必须注意到,如果我在域名后键入两次.com,它会引导我进入404000网络主机页面。谢谢你的回复,我非常感谢。您建议我使用的代码可以正常工作,但url仍然不会更改为主页,它与我键入的相同。比如,如果我试图打开www.domain.com/blaa,当然它不在我的目录中,它会将我重定向到主页,但url仍然是相同的www.domain.com/blaa。可以改为www.domain.com吗?还有一件事我必须注意到,如果我在域名后键入两次.com,它会将我指向404000 WebHost页面。