2011-09-21 16 views
6

मैं .htaccess.htaccess उपडोमेन तर्क सुलभ नहीं

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com 
RewriteCond %1 !^www$ [NC] 
RewriteCond %{REQUEST_URI} ^/news/news-details\.php$ 
RewriteRule (.*) news.php?div=%1 

क्या यह करता है div news/news-details.php करने के लिए चर बराबर के साथ अनुरोध news.php फ़ाइल हस्तांतरण है में निम्नलिखित नियम लिखा है। मुझे इस तरह होने के लिए div की जरूरत नहीं है। मुझे डोमेन के साथ लिखा गया सबडोमेन का मान चाहिए जैसे कि उपयोगकर्ता user.domain.com/news/news-details.php से आ रहा है। मुझे news.php फ़ाइल में div variable की आवश्यकता है i.e. news.php?div=user

संपादित करें:

यहाँ इन दो नियमों

# For www.domain.com it should go to my-index.php page 
# 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule ^(.*)$ my-index.php [NC,L] 


# For Page URL http://www.domain.com/news/news-details.php 
# 
RewriteCond %{REQUEST_URI} ^/news/news\-details\.php [NC] 
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] 
RewriteRule ^(.*)$ my-news.php [NC,QSA,L] 

उत्तर

11
परस्पर विरोधी हैं: यहाँ अब Htaccess कोड यह जड़ खबर विवरण पृष्ठ विकल्प

+FollowSymLinks 
RewriteEngine on 

# For Accessing News Details Page for root http://www.domain.com/news/news-details.php 
RewriteCond %{HTTP_HOST} ^www.domain\.com [NC] 
RewriteRule ^news/news-details.php$ news.php [QSA,NC,L] 


# For Accessing News Details Page http://user.domain.com/news/news-details.php 
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com [NC] 
RewriteCond %{HTTP_HOST) !^www\. 
RewriteRule ^news/news-details.php$ news.php?div=%1 [QSA,NC,L 


# For www.domain.com it should go to the index page 
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC] 
RewriteRule ^(.*)$ index.php [NC,L] 


# For Accessing Divisions Page user.domain.com should go to domain.com/divisions.php?division=user 
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ 
RewriteRule ^$ /divisions.php?division=%1 [L] 

पुन: संपादित करने के लिए समस्या का कारण है है

इसे आज़माएं:

RewriteCond %{REQUEST_URI} ^/news/news\-details.php$ 
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.domain\.com$ [NC] 
RewriteCond %1 !^www$ [NC] 
RewriteRule ^(.*)$ news.php?div=%1 [NC,QSA,L] 

RewriteCond %{REQUEST_URI} ^/news/news\-details\.php [NC] 
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] 
RewriteRule ^(.*)$ news.php [NC,QSA,L] 

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php [NC,QSA,L] 

RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.domain\.com$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ divisions.php?division=%1 [NC,QSA,L] 
+0

हाँ जो गतिशील डोमेन के लिए काम कर रहा है लेकिन जब मैं www.domain.com/news/news-details.php टाइप करता हूं तो यह मुझे इंडेक्स फ़ाइल में ले जा रहा है। मैं इसे उपयोगकर्ता तर्क के बिना एक ही समाचार फ़ाइल पर निर्देशित करना चाहता हूं? आप – HardCode

+0

का मतलब कैसे करते हैं जब आप टाइप करते हैं: www.domain.com मैं news.php (बिना परम के) देखता हूं और जब मैं इसका उपयोग करता हूं: user.domain.com मैं उपयोग करता हूं: php? user = user? –

+0

जब मैं www.domain.com/news/news-details.php टाइप करता हूं तो इसे news.php पर जाना चाहिए, लेकिन तर्क के बिना और सबडोमेन के लिए आपके द्वारा लिखे गए कोड बस ठीक काम कर रहे हैं। लेकिन अब जब मैं www.domain.com/news/news-details.php टाइप करता हूं तो यह मुझे index.php फ़ाइल पर ले जा रहा है news.php नहीं ?? – HardCode