2009-05-18 18 views
6

नमस्ते,301 रीडायरेक्ट index.html पर/या

/index.php मैं सिर्फ अपाचे के लिए आईआईएस से एक वेबसाइट स्थानांतरित कर दिया और एक छोटे से मुसीबत अनंत लूप पैदा करने के बिना इंडेक्स फ़ाइल पुनः निर्देशित कर रहा हूँ।

इन दोनों को व्यक्तिगत रूप से एक loop-

पुनर्निर्देशन 301 /index.htm /index.php

पुनर्निर्देशन 301 /index.htm http://www.foo.com/

कारण होगा नीचे मेरे वर्तमान की एक प्रति है। htaccess। क्या कोई मेरी मदत कर सकता है? मैं लिंक का एक समूह http://www.foo.com/index.htm की ओर इशारा किया है कि मैं 301 http://www.foo.com/

RewriteEngine On 

########## Begin - Rewrite rules to block out some common exploits 
## If you experience problems on your site block out the operations listed below 
## This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
# Block out any script trying to set a mosConfig value through the URL 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 
# Block out any script trying to base64_encode crap to send via URL 
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] 
# Block out any script that includes a <script> tag in URL 
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Send all blocked request to homepage with 403 Forbidden error! 
RewriteRule ^(.*)$ index.php [F,L] 
# 
########## End - Rewrite rules to block out some common exploits 

# Uncomment following line if your webserver's URL 
# is not directly related to physical file paths. 
# Update Your Joomla! Directory (just/for root) 

# RewriteBase/

########## Begin - Joomla! core SEF Section 
# 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|\.cfm|/[^.]*)$ [NC] 
RewriteRule (.*) index.php 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
# 
########## End - Joomla! core SEF Section 

Redirect 301 /a /administrator 
+0

+1 अपाचे – eleven81

+0

को आईआईएस से दूर ले जाकर @ eleven81 के लिए - अच्छा लगा। –

उत्तर

3

पर पुन: निर्देशित करना चाहते हैं मुझे लगता है कि आप अपनी निर्देशिका सूचकांक index.html लिए निर्धारित किया है, और यह index.php पहले होता है। फिर आपके http://www.foo.com/ को http://www.foo.com/index.html के रूप में व्याख्या किया गया है, और इसे http://www.foo.com/ पर रीडायरेक्ट किया गया है - इसलिए लूप।

Here आपको अलग-अलग तरीकों को पुनर्निर्देशित करने के बारे में कुछ जानकारी मिली है।

6

आप ऐसा क्यों कर रहे हैं? क्यों एक वैध सूचकांक विस्तार के रूप में अपने vhost/config को index.php नहीं जोड़

DirectoryIndex index.html index.php 

और फिर एचटीएमएल फ़ाइल को नष्ट>

या

DirectoryIndex index.php 
0

मैं पुन: निर्देशन के बारे में Kender की टिप्पणी से सहमत पाश। संभवत: इसका उल्टा है कि,

अपने रीडायरेक्ट के साथ

notindex.html

DirectoryIndex के लिए तो notindex.html में वास्तविक पहले पन्ने डाल है। मैं स्पष्ट नहीं हूं कि /index.html का उपयोग करने वाले लोगों के साथ क्या गलत है यदि वह पृष्ठ वास्तव में मौजूद है?

+0

http://www.example.com/ और http://www.example.com/index.html दोनों एक ही पृष्ठ पर जाकर Google को "डुप्लीकेट सामग्री" कहा जाता है और यह * एक एसईओ समस्या बना सकता है। और, संभावित संदर्भ मुद्दों के अलावा, मुझे यह बदसूरत लगता है। एक यूआरएल, एक पेज। – bortzmeyer

0

मैं

foo/सूचकांक अनुप्रेषित करने के लिए हाइपरलिंक जोड़ने की अनुमति दी हूँ अभी तक नहीं, जैसा कि मैंने एक नया उपयोगकर्ता हूँ, इसलिए जब मैं "foo" टाइप किया है सिर्फ पूरे यूआरएल thats मान ...। foo के लिए pHP/पाश के बिना, का उपयोग एक और पुनर्लेखन नियम:

RewriteRule index.php foo/ [R=301] 

आप क्या आपके RewriteBase के रूप में सेट किया गया है पर निर्भर करता है /index.php उपयोग करने के लिए आवश्यकता हो सकती है (और कितने निर्देशिका आप में एक index.php है) ।

1

आप इस तरह REQUEST_URI के मान की जाँच करने की आवश्यकता होगी:

RewriteCond %{REQUEST_URI} ^/index.htm$  # If REQUEST_URI == "/index.htm" 
RewriteRule (.*)/[R=301,L]    # Then 301 redirect to "/" 
संबंधित मुद्दे