如果文件不存在,则重定向到root

时间:2015-09-24 06:55:49

标签: .htaccess redirect

我有一个超级基本的重定向请求我想要完成,但每次我试一试都搞砸了,到目前为止最好的结果是双www.www redirect(http://www.www.domain.tld/

我的.htaccess有两个'规则我喜欢检查和完成。

1st:将所有不存在的文件重定向到根文件夹

第二名:添加www。如果域名请求为非www

.attr("data-url")

我已经更改了第一个Ruleset,但从未解决过

没有。 1

# If requested resource exists as a file or directory go to it
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.*) - [L]

# Else rewrite requests for non-existent resources to /index.php
RewriteRule (.*) http://www.%{HTTP_HOST}/? [L]

#Rewrite for non www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/? [R=301,L]

结束了redirectloop

没有。 2

# If requested resource exists as a file or directory go to it
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.*) - [L]

# Else rewrite requests for non-existent resources to /index.php
RewriteRule (.*) http://%{HTTP_HOST}/? [L]

结束,就像没有规则一样..所以错误的404网站没有更改网址http://www.domain.tld/123456789.html

我走错了路?

1 个答案:

答案 0 :(得分:3)

在进行静默重写时不能使用alert(first_char),否则http://会将其转换为外部重定向。你有这样的规则:

mod_rewrite

确保在测试之前清除浏览器缓存。