मेरे अपाचे पर 2 वर्चुअल मेजबानों के साथ निम्नलिखित कॉन्फ़िगरेशन है: www.domain.com और res.domain.com । पहला एक खुला है दूसरा पंजीकृत उपयोगकर्ताओं के लिए सीमित है।
<VirtualHost *:80>
ServerName www.domain.com
DocumentRoot /website/www
<Directory "/website/www">
Options FollowSymLinks
AllowOverride All
RewriteEngine On
RewriteCond %{REQUEST_URI} !api/dispatch\.php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/.*$ api/dispatch.php [L,QSA]
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName res.domain.com
DocumentRoot /website/res
<Directory "/website/res">
Options FollowSymLinks
AllowOverride All
AuthType Basic
AuthUserFile /website/res/users.sec
<Limit GET POST>
Require valid-user
</Limit>
</Directory>
</VirtualHost>
मैं सभी कॉल http://res.domain.com/api/ * पर करना चाहता हूं, जैसे कि वे http://www.domain.com/api/ * हैं। कोई प्रमाणीकरण और समान व्यवहार नहीं ...
महत्वपूर्ण : मैं नहीं चाहता कि मेरे उपयोगकर्ता पुनर्निर्देशित हों ...
मुझे मदद की ज़रूरत है क्योंकि मैंने बहुत सी चीजों की कोशिश की लेकिन कोई सफलता नहीं मिली।
EDIT 1 यहाँ विचार वेब साइट (इस मामले में 'एपी') का एक हिस्सा है जो कोड की प्रतिकृति के बिना सभी वर्चुअल होस्ट से स्वतंत्र रूप से (= कोई प्रमाणीकरण के साथ) सुलभ है।
फ़ोल्डर:
/वेबसाइट / www / img / API / सीएसएस / ... / रेस / ...
मैंने उपनाम, पुनर्लेखन और निर्देशिका ... पूर्व: के संयोजन की कोशिश की है
<VirtualHost *:80>
ServerName www.domain.com
DocumentRoot /website/www
<Directory "/website/www">
Options FollowSymLinks
AllowOverride All
RewriteEngine On
RewriteCond %{REQUEST_URI} !api/dispatch\.php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/.*$ api/dispatch.php [L,QSA]
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName res.domain.com
DocumentRoot /website/res
Alias /api /website/www/api
<Directory "/website/www/api">
Options FollowSymLinks
AllowOverride All
Satisfy Any
Allow from all
RewriteEngine On
RewriteCond %{REQUEST_URI} !dispatch\.php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ dispatch.php [L,QSA]
</Directory>
<Directory "/website/res">
Options FollowSymLinks
AllowOverride All
AuthType Basic
AuthUserFile /website/res/users.sec
<Limit GET POST>
Require valid-user
</Limit>
</Directory>
</VirtualHost>
इस स्थिति में, http://res.domain.com/api/ ... कॉल अभी भी मूल प्रमाणीकरण के साथ प्रतिबंधित है।