无法使用301和.htacces重定向

时间:2018-05-30 03:26:40

标签: html css .htaccess redirect url-redirection

我刚刚开始学习CSS和HTML。

我从HostGator购买了一个域名来上传我的小网站。

我用Cyber​​Duck上传了我所有的东西。

然后我发现了一个名为.htacces的东西,我在WWW文件夹中没有这个东西,我已经尝试了#34;制作"一。

然后我使用Nibbler对网站进行了测试,它一直在说"有重复的内容"并且我应该这样做:"选择一个您想要使用的域,然后设置永久(HTTP 301)重定向以转发访问另一个的用户。"

我发现了很多重写和重做但我不能让它们有效。

我需要写什么才能没有"重复"网站(或解决Canonical网站地址(这就是我认为的方式))???

让我们说我的网站名称是:http://www.FirstSite.net我想要所有" FirstSite"搜索转到https://FirstSite.net或FirstSite.net,但仍然是https。

我用s写了https,因为我想让网站安全(如果可能的话)。

我一直在修改gator cPanel的.htacces,而我正在使用Google Chrome。

感谢您阅读本手稿!

这就是我将其复制粘贴到其中的所有内容(我忘记了那些没有#do(后两段)的内容):



# MAIN DEFAULTS
Options +ExecCGI -Indexes
DirectoryIndex index.html
DefaultLanguage en-US
AddDefaultCharset UTF-8
ServerSignature Off

# compress text, HTML, JavaScript, CSS, and XML
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent



#HTACCES Security
<Files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</Files>


# 1 WEEK 1 DAY
<filesMatch “.(jpg|jpeg|png|gif|swf|ico)$”>
Header set Cache-Control “max-age=691200, public”
</filesMatch>
# 1 WEEK 1 DAY
<filesMatch “.(xml|txt|js)$”>
Header set Cache-Control “max-age=691200, proxy-revalidate”
</filesMatch>
# 1 WEEK 1 DAY
<filesMatch “.(html|htm|css|php)$”>
Header set Cache-Control “max-age=691200, private, proxy-revalidate”
</filesMatch>

Options +SymLinksIfOwnerMatch 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

为确保您的网站安全,您必须拥有有效的SSL证书。它不只是将shttp

放在一起

如果您已经安装了域名。您可以使用以下代码为您的域名地址强制使用SSL(重定向)。

RewriteCond %{HTTP_HOST} firstsite\.net [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.firstsite.net/$1 [R,L]

要解决规范或重复的网站问题,请使用

# Fix the non-www to www canonicalization issue:
RewriteCond %{HTTP_HOST}^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

# Fix the canonical issue vecause of index files
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . http://www.firstsite.net%1/%2 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(([^/]+/)*)index\.html\ HTTP/
RewriteRule index\.html$ http://www.firstsite.net/%1 [R=301,L]\

根据您的服务器设置,使用您的域名以及索引文件的名称和扩展名更改firstsite.net

如果使用ngnix服务器将www重定向到非www

  

使用nginx重定向从网址剥离www

server {
    listen       80;
    server_name  www.example.com;
    return       301 http://example.org$request_uri;
}

server {
    listen       80;
    server_name  example.com;
    ...
    #The rest of your configuration goes here#
}
  

所以你需要有两个服务器代码。