2013-03-25 6 views
0

У меня есть следующее правило в моем htaccess, мне нужно его изменить, чтобы добавить переменную в конец повторно написанного URL-адреса. В основном у меня есть два домена, указывающие на один и тот же хостинг, и я показываю разные сайты в зависимости от того, какой домен он использовал..htaccess mod_rewrite на основе домена

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^(.*)$ /rrr/$1 [L] 

Если кто-то идет rrr.me или www.rrr.me они получают index.php в каталоге RRR моего сайта. Это отлично работает!

Теперь я должен иметь возможность добавить переменную в index.php. Поэтому кто-то напечатает rrr.me/abc и добавит abc до конца index.php таким образом index.php?var1=abc

NEW REWRITE ПРАВИЛА ПОСЛЕ КОНСУЛЬТАЦИИ ОТ Olaf Dietsche В КОММЕНТАРИИ.

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
RewriteCond %{REQUEST_URI} !/assets/ 
Rewriterule ^.*$ /rrr/index.php?rrr=$0 [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^assets/.*$ /rrr/$0 [L] 
+0

Я изменил окончательные правила. Условие '! Assets' должно быть добавлено к правилу * first *, а второе правило должно иметь правило'! Rrr'. Надеюсь, это поможет. –

+0

Пятно на! Спасибо за всю помощь, очень ценю это. Также я узнал совсем немного :-) – superphonic

ответ

1

Чтобы добавить требуемый URL в виде строки запроса

Rewriterule ^.*$ /rrr/index.php?var1=$0 [L] 

Чтобы исключить каталог assets, необходимо использовать дополнительный RewriteCond

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
RewriteCond %{REQUEST_URI} !/assets/ 
Rewriterule ^(.*)$ /rrr/$1 [L] 

Для файлов активов, вы можете использовать аналогичное перенаправление

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^assets/.*$ /rrr/$0 [L] 
+0

Спасибо за это. Я заменил третью строку моего правила своей линией, и теперь я получаю внутреннюю ошибку сервера. Есть идеи? – superphonic

+0

@superphonic Какой URL-адрес вы запросили? У вас есть доступ к журналам сервера? –

+0

После добавления Rewriterule я отправился на rrr.me и получил внутреннюю ошибку сервера. Когда я верну свое правило Rewriterule, оно работает так, как ожидалось. Я не изменил RewriteCond. – superphonic

Смежные вопросы