2016-03-02 76 views
0

我有渲染我的網站的問題時,我在下面的網址,鍵入:我的網站不斷出現重定向循環ERR_TOO_MANY_REDIRECTS

http://www.onvia.com/hello

我得到一個重定向循環ERR_TOO_MANY_REDIRECTS。

如果我去http://www.onvia.com/hello/index.html,我可以看到我的頁面。此外,我可以看到該目錄中的其他文件,如http://www.onvia.com/hello/hello.txt

這不僅僅是該文件夾。它也發生在:

http://www.onvia.com/hello2 - 我得到的錯誤,但如果我去http://www.onvia.com/hello2/index.html頁呈現罰款,我不會得到一個錯誤。

我在做什麼我的.htaccess文件不正確?

我使用Drupal作爲我的CMS,但這些文件不在Drupal中。

這是我的.htaccess文件:

# 
# Apache/PHP/Drupal settings: 
# 

# Protect files and directories from prying eyes. 
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$"> 
    Order allow,deny 
</FilesMatch> 

# Don't show directory listings for URLs which map to a directory. 
Options -Indexes 

# Follow symbolic links in this directory. 
Options +FollowSymLinks 

# Make Drupal handle any 404 errors. 
ErrorDocument 404 /index.php 

# Set the default handler. 
DirectoryIndex index.php index.html index.htm 

# Override PHP settings that cannot be changed at runtime. See 
# sites/default/default.settings.php and drupal_environment_initialize() in 
# includes/bootstrap.inc for settings that can be changed at runtime. 

# PHP 5, Apache 1 and 2. 
<IfModule mod_php5.c> 
    php_flag magic_quotes_gpc     off 
    php_flag magic_quotes_sybase    off 
    php_flag register_globals     off 
    php_flag session.auto_start    off 
    php_value mbstring.http_input    pass 
    php_value mbstring.http_output   pass 
    php_flag mbstring.encoding_translation off 
</IfModule> 

# Requires mod_expires to be enabled. 
<IfModule mod_expires.c> 
    # Enable expirations. 
    ExpiresActive Off 

    # Cache all files for 2 weeks after access (A). 
    ExpiresDefault A1209600 

    <FilesMatch \.php$> 
    # Do not allow PHP scripts to be cached unless they explicitly send cache 
    # headers themselves. Otherwise all scripts would have to overwrite the 
    # headers set by mod_expires if they want another caching behavior. This may 
    # fail if an error occurs early in the bootstrap process, and it may cause 
    # problems if a non-Drupal PHP file is installed in a subdirectory. 
    ExpiresActive Off 
    </FilesMatch> 
</IfModule> 

# Various rewrite rules. 
<IfModule mod_rewrite.c> 
    RewriteEngine on 

    # Block access to "hidden" directories whose names begin with a period. This 
    # includes directories used by version control systems such as Subversion or 
    # Git to store control files. Files whose names begin with a period, as well 
    # as the control files used by CVS, are protected by the FilesMatch directive 
    # above. 
    # 
    # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is 
    # not possible to block access to entire directories from .htaccess, because 
    # <DirectoryMatch> is not allowed here. 
    # 
    # If you do not have mod_rewrite installed, you should remove these 
    # directories from your webroot or otherwise protect them from being 
    # downloaded. 
    RewriteRule "(^|/)\." - [F] 

    # If your site can be accessed both with and without the 'www.' prefix, you 
    # can use one of the following settings to redirect users to your preferred 
    # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option: 
    # 
    # To redirect all users to access the site WITH the 'www.' prefix, 
    # (http://example.com/... will be redirected to http://www.example.com/...) 
    # uncomment the following: 
    RewriteCond %{HTTP_HOST} !^www\. [NC] 
    RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
    # 
    # To redirect all users to access the site WITHOUT the 'www.' prefix, 
    # (http://www.example.com/... will be redirected to http://example.com/...) 
    # uncomment the following: 
    # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    # RewriteRule^http://%1%{REQUEST_URI} [L,R=301] 

    # Modify the RewriteBase if you are using Drupal in a subdirectory or in a 
    # VirtualDocumentRoot and the rewrite rules are not working properly. 
    # For example if your site is at http://example.com/drupal uncomment and 
    # modify the following line: 
    # RewriteBase /drupal 
    # 
    # If your site is running in a VirtualDocumentRoot at http://example.com/, 
    # uncomment the following line: 
    # RewriteBase/

    #get rid of trailing slashes 
    RewriteCond %{HTTP_HOST} ^(www.)?onvia\.com$ [NC] 
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 

    # Redirect https requests to http, but exclude certain requests for assets in js/css/media folders 
    RewriteEngine On 
    RewriteCond %{HTTPS} on 
    RewriteCond %{REQUEST_URI} !^/media/ 
    RewriteCond %{REQUEST_URI} !^/css/ 
    RewriteCond %{REQUEST_URI} !^/js/ 
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    ########################################################## 
    # THESE ARE THE PROMO ADS THAT SHOW UP IN THE ONVIA GUIDE 
    # THE PLATFORM CALLS A FIXED URL WITH A COBRAND IN THE URL AND WE 
    # REDIRECT IT TO THE APPROPRIATE ASSET ON OUR SIDE 
    ########################################################## 

    ########################################################## 
    # Pipeline Guide Promotional Units 
    ########################################################## 

    # REDIRECT NTLT MARKETING PROMO TO THE ONVIA ADVANTAGE SITE 
    RewriteCond %{QUERY_STRING} utm_campaign=product_onvia_pipeline_email 
    RewriteRule ^promo/onvia-guide-email$ http://support.onvia.com/pipeline [R=302,L,NC] 

    # REDIRECT NTLT MARKETING PROMO IMAGE TO THE RIGHT PROMO IMAGE 
    RewriteCond %{QUERY_STRING} utm_campaign=product_onvia_pipeline_email 
    RewriteRule ^sites/default/files/daily-guide/productbanner200x215.jpg$ http://%{HTTP_HOST}/sites/default/files/daily-guide/pipeline_banner200x215.jpg [R=302,L,NC] 

    # REDIRECT NTLT PRODUCT PROMO TO THE USERVOICE SITE 
    # NO SPECIAL ROUTING FOR THIS ONE (USING THE DEFAULT) 
      # RewriteCond %{QUERY_STRING} utm_campaign=marketing_onvia_pipeline_email 
      # RewriteRule ^promo/onvia-guide-email$ http://www.onvia.com/business-resources/white-papers/10-hotspots-in-government-contracting [R=302,L,NC] 

    # REDIRECT NTLT PRODUCT PROMO IMAGE REQUEST TO THE RIGHT PROMO IMAGE 
    # NO SPECIAL ROUTING FOR THIS ONE (USING THE DEFAULT) 
      # RewriteCond %{QUERY_STRING} utm_campaign=marketing_onvia_pipeline_email 
      # RewriteRule ^sites/default/files/daily-guide/banner200x215.jpg$ http://%{HTTP_HOST}/sites/default/files/daily-guide/pipeline_marketing_banner200x215.jpg [R=302,L,NC] 

    ########################################################## 
    # NTLT - No Touch/Low Touch (ECommerce) Custom Guide Promotional Units 
    ########################################################## 

    # REDIRECT NTLT MARKETING PROMO TO THE ONVIA ADVANTAGE SITE 
    RewriteCond %{QUERY_STRING} utm_campaign=marketing_guide_email_NTLT 
    RewriteRule ^promo/onvia-guide-email$ http://www.onvia.com/business-resources/white-papers/10-hotspots-in-government-contracting [R=302,L,NC] 

    # REDIRECT NTLT MARKETING PROMO IMAGE TO THE RIGHT PROMO IMAGE 
    RewriteCond %{QUERY_STRING} utm_campaign=marketing_guide_email_NTLT 
    RewriteRule ^sites/default/files/daily-guide/banner200x215.jpg$ http://%{HTTP_HOST}/sites/default/files/daily-guide/NTLT_banner200x215.jpg [R=302,L,NC] 

    # REDIRECT NTLT PRODUCT PROMO TO THE USERVOICE SITE 
    RewriteCond %{QUERY_STRING} utm_campaign=product_guide_email_NTLT 
    RewriteRule ^promo/product-onvia-guide-email$ http://onvia.uservoice.com/ [R=302,L,NC] 

    # REDIRECT NTLT PRODUCT PROMO IMAGE REQUEST TO THE RIGHT PROMO IMAGE 
    RewriteCond %{QUERY_STRING} utm_campaign=product_guide_email_NTLT 
    RewriteRule ^sites/default/files/daily-guide/productbanner200x215.jpg$ http://%{HTTP_HOST}/sites/default/files/daily-guide/NTLT_productbanner200x215.jpg [R=302,L,NC] 

    ########################################################## 
    # DEFAULT/FALLBACK Custom Guide Promotional Units 
    ########################################################## 

    # REDIRECT ALL OTHER MARKETING PROMO REQUESTS TO THE ONVIA ADVANTAGE SITE 
    RewriteRule ^promo/onvia-guide-email$ http://www.onvia.com/business-resources/white-papers/10-hotspots-in-government-contracting [R=302,L,NC] 

    # REDIRECT ALL OTHER PRODUCT PROMO REQUESTS TO THE ONVIA ADVANTAGE SITE 
    RewriteRule ^promo/product-onvia-guide-email$ http://www.onvia.com/business-resources/how-to-build-a-future-sales-pipeline-using-onvia-spending-forecast-center [R=302,L,NC] 

    ########################################################## 
    # END OF PROMOTIONAL AD UNIT REDIRECTS IN ONVIA GUIDE 
    ########################################################## 

    # ONVIA 301 Redirects 
    RewriteRule ^support/$ http://support.onvia.com [R=301,L,NC] 
    RewriteRule ^support$ http://support.onvia.com [R=301,L,NC] 
    RewriteRule ^forms/DS-SubscriptionRequest$ http://%{HTTP_HOST}/demandstar-subscriptions [R=301,L,NC] 
    RewriteRule ^notification-sign$ http://%{HTTP_HOST}/wapp [R=301,L,NC] 
    RewriteRule ^sites/all/themes/onvia/img/logo.gif$ http://%{HTTP_HOST}/sites/default/files/logo.gif [R=301,L,NC] 
    RewriteRule ^partners$ http://%{HTTP_HOST}/partners/business-associations [R=301,L,NC] 
    RewriteRule ^content/demandstar_subscriptions$ http://%{HTTP_HOST}/demandstar-subscriptions [R=301,L,NC] 
    RewriteRule ^support/video_01.html$ http://support.onvia.com/product-guide/opportunity-notification-introduction [R=301,L,NC] 
    RewriteRule ^sites/all/themes/onvia/css/nav.css$ http://%{HTTP_HOST} [R=301,L,NC] 
    RewriteRule ^sites/all/themes/onvia/css/boxes.css$ http://%{HTTP_HOST} [R=301,L,NC] 
    RewriteRule ^sites/all/themes/onvia/css/links.css$ http://%{HTTP_HOST} [R=301,L,NC] 
    RewriteRule ^sites/all/themes/onvia/css/common.css$ http://%{HTTP_HOST} [R=301,L,NC] 
    RewriteRule ^fp/Default.aspx$ http://%{HTTP_HOST} [R=301,L,NC] 
    RewriteRule ^agency/testimonials.asp http://%{HTTP_HOST}/solutions/demandstar-onvia/testimonials [R=301,L,NC] 
    RewriteRule ^blog/how-to-find-upcoming-term-contracts-in-state-and-local-government-using-term-contract-center http://%{HTTP_HOST}/blog/how-to-find-active-term-contracts-in-state-and-local-government-using-term-contract-center [R=301,L,NC] 
    RewriteRule ^winning-business-with-city-agencies-spotlight-austin http://%{HTTP_HOST}/business-resources/winning-business-with-city-agencies [R=301,L,NC] 
    RewriteRule ^how-to-build-a-future-sales-pipeline-using-onvia-spending-forecast-center http://%{HTTP_HOST}/business-resources/how-to-build-a-future-sales-pipeline-using-onvia-spending-forecast-center [R=301,L,NC] 
    RewriteRule ^blog/the-growth-of-gamification-what-it-means-for-schools-and-districts http://%{HTTP_HOST}/blog/gamification-K-12-teachers-game-the-system-to-innovate-education [R=301,L,NC] 
    RewriteRule ^blog/infographic-voip http://%{HTTP_HOST}/blog/infographic-targeting-government-voip-market [R=301,L,NC] 
    RewriteRule ^free-agency-form https://www.demandstar.com/supplier/memberwiz/address.asp?mi=2035150&ai=1927026&wizmode=1&mode=s&ag=1 [R=301,L,NC] 

    # Pass all requests not referring directly to files in the filesystem to 
    # index.php. Clean URLs are handled in drupal_environment_initialize(). 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !=/favicon.ico 
    RewriteRule^index.php [L] 

    # Rules to correctly serve gzip compressed CSS and JS files. 
    # Requires both mod_rewrite and mod_headers to be enabled. 
    <IfModule mod_headers.c> 
    # Serve gzip compressed CSS files if they exist and the client accepts gzip. 
    RewriteCond %{HTTP:Accept-encoding} gzip 
    RewriteCond %{REQUEST_FILENAME}\.gz -s 
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA] 

    # Serve gzip compressed JS files if they exist and the client accepts gzip. 
    RewriteCond %{HTTP:Accept-encoding} gzip 
    RewriteCond %{REQUEST_FILENAME}\.gz -s 
    RewriteRule ^(.*)\.js $1\.js\.gz [QSA] 

    # Serve correct content types, and prevent mod_deflate double gzip. 
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] 
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1] 

    <FilesMatch "(\.js\.gz|\.css\.gz)$"> 
     # Serve correct encoding type. 
     Header set Content-Encoding gzip 
     # Force proxies to cache gzipped & non-gzipped css/js files separately. 
     Header append Vary Accept-Encoding 
    </FilesMatch> 
    </IfModule> 
</IfModule> 
+0

你在瀏覽器中輸入了什麼URL導致重定向循環? – anubhava

+0

http://www.onvia.com/hello – user3075987

+0

另外http://www.onvia.com/hello2 – user3075987

回答

0

更改尾部斜槓規則如下:

#get rid of trailing slashes 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/$ /$1 [R=301,L,NE] 

確保測試這種變化之前,清除瀏覽器緩存。