2015-05-13 3 views
-1

Я новичок в htaccess, поэтому извиняюсь заранее. Я пытаюсь перенаправить все не-www на www. Все идет нормально. В то же время я также пытаюсь поймать все и очистить ссылку (index.php), не показанную на index.php.htaccess - перенаправить на www и поймать все index.php

Я попытался объединить следующие строки, но я не сумел сделать HTAccess работу:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [QSA] 

Он перенаправляет все не-WWW к WWW и не показывает «index.php» , Но я также хочу сохранить полный URL.

Пример:

example.com/subfolder должен ссылаться на www.example.com/subfolder но показать index.php

Спасибо за вашу помощь!

+0

Могу ли я понимаю, что вы хотите, отставая 'index.php' всех ваших URL-адресов, который указывает по умолчанию индекс. i.e 'www.example.com/подпапка', чтобы быть' www.example.com/subfolder/index.php'? – SaidbakR

ответ

0

Я (надеюсь) ответил на мой собственный вопрос методом проб и ошибок.

RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^?]*)$ /index.php?path=$1 [NC,L,QSA] 

Конечно с RewriteEngine на