2012-02-27 2 views
0

Я пытаюсь перенаправить не-www на www на моем сайте php и сохранить чистые URL-адреса без ссылки на .php-страницы.php-страницы с перенаправлением htaccess не работает

Когда я использую предложенную переадресацию для не-www к www ниже, ссылки на страницы больше не переходят на правильные страницы. Например: у меня есть page1.php, и когда я ссылаюсь на domain.com/page1 (без .php), эта страница больше не будет загружаться. Как я могу это исправить? Мне нужно изменить все ссылки и добавить расширение страницы (.php) для ссылок на работу?

Htaccess Я использую:

RewriteEngine На

#This bit rewrites your host name to include www 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC,L] 

#This bit does the codeigniter magic 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 [L] 
+0

У вас установлены маршруты для '/ page1' или файлы' page1.php' физически отсутствуют? – prodigitalson

+0

все мои страницы находятся в формате page.php. Но ссылки есть/page/page1/page2 и т. Д. –

+0

, так вы используете CodeIgniter или нет? Вообще говоря, это не какая-то магия, которую вы бросаете на сайт, и делает URL-адреса такими, как вы хотите. Вам нужно преобразовать эти страницы в контроллеры и представления, а затем правильно настроить маршруты. ЕСЛИ вы это сделали, дайте нам некоторые сведения о вашей маршрутизации, чтобы мы могли помочь сделать директивы '.htaccess' достаточными для продолжения. – prodigitalson

ответ

0

Я нашел ответ!

RewriteEngine On 
RewriteBase/
#Rewrite bare to www 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 
Смежные вопросы