好的,所以我在我的网站上重写了网址,现在出于某种原因,如果我输入www.domain.com就会抛出404错误,如果我输入domian.com,一切正常。
DirectoryIndex home.php
IndexIgnore *
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/directory/$1 [L,R=301]
RewriteRule ^home/?$ home.php [NC]
RewriteRule ^about/?$ about.php [NC]
RewriteRule ^404/?$ 404.php [NC]
ErrorDocument 404 http://domain.com/directory/404
注意:我已经将前2个重写规则评论为即使我更改了它们,但在将.htaccess
上传到服务器之后也没有效果,感觉就像它已缓存一样。
其他信息,使用<base>
embeds.php
标记
if($_SERVER['REMOTE_ADDR'] == '::1') {
echo '<base href="http://localhost/projects/directory/" />';
} else {
echo '<base href="http://domain.com/directory/" />';
}
目录结构
Root -
home.php
about.php
-stylesheets
default.css
-includes
embeds.php
404.php
.htaccess
embeds.php
,home.php
等 about.php
包含,以及样式表,脚本等,将的主题部分与一起提升<base>
标记位于embeds.php
答案 0 :(得分:1)
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*) http://www.domain.com/$1 [QSA,L,R=301]
它应该可以工作,如果它不是来自您的DNS或Vhost配置。
答案 1 :(得分:1)
这也是firefox的一个问题,它缓存了我的.htaccess
文件
以下是一些有用的链接,可能有助于其他用户引用此问题
Apache - how to disable browser caching while debugging htaccess