Я пытаюсь перенаправить все /admin
вызовы в подобласти с этими двумя линиями в .htaccess
:Htaccess RewriteCond и переписать правило не работает должным образом
RewriteCond %{REQUEST_URI} ^admin [NC]
RewriteRule ^(.*)/$ http://admin\.somedomain\.com/$1/ [R,L]
Ну, ничего не происходит. Он просто игнорирует правило перенаправления и показывает содержимое каталога/admin.
Просто для справки (и пропускать запросы, чтобы вставить весь мой .htaccess
файл), здесь:
Options +FollowSymlinks -Indexes
RewriteEngine on
Redirect 404 /favicon.ico
RewriteCond %{REQUEST_URI} ^admin [NC]
RewriteRule ^(.*)/$ http://admin\.somedomain\.com/$1/ [R,L]
# Send all admin. traffic to /admin
RewriteCond %{HTTP_HOST} ^admin\. [NC]
RewriteRule ^(.*)$ /admin/$1 [L]
# Check for www. and add it
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^admin\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,L]
# Add trailing slash if not found
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !favicon.ico
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R,L]
# Process virtual links/directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !favicon.ico
RewriteRule ^(.*)$ index.php/?$1 [QSA,L]
Странная часть состоит в том, что ваши первые фиксированные правила не работают, если я вхожу в 'www.somedomain.com/admin', он не перенаправляет, а просто показывает содержимое каталога'/admin'. Второе правило работает (только что протестировано). –