Ran*_*Guy 6 php .htaccess url-rewriting
好的,所以我在我的网站上重写了URL,现在出于某种原因,如果我输入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
Run Code Online (Sandbox Code Playgroud)
注意:我已经评论了前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/" />';
}
Run Code Online (Sandbox Code Playgroud)
目录结构
Root -
home.php
about.php
-stylesheets
default.css
-includes
embeds.php
404.php
.htaccess
Run Code Online (Sandbox Code Playgroud)
embeds.php被包括在home.php,about.php等,样式,脚本等,inshort头部沿 <base>标记在embeds.php
小智 1
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*) http://www.domain.com/$1 [QSA,L,R=301]
Run Code Online (Sandbox Code Playgroud)
它应该可以工作,如果不行则来自您的 DNS 或虚拟主机配置。
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |