множественные ошибки, без перенаправления, apache2 / htaccess - PullRequest
0 голосов
/ 18 ноября 2011

Вот мой файл .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^. /archive/index.php [L]

переходя на domain.com перенаправит меня на www.domain.com

однако при переходе на domain.com/2011/11/18/blog-title вместо URL браузера будет отображаться http://domain.com/var/htdocs/public_html/.

Моя цель - перенаправить любую страницу на domain.com на www.domain.com

и когда я иду на www.domain.com или domain.com / YYYY или / YYYY / MM или / YYYY / MM / DD, передам PHP REQUEST_URI, чтобы я мог получать данные из базы данных MySQL.

Первоначально я скопировал файл .htaccess из WordPress, но он, кажется, не работает должным образом, так как / var / htdocs / public_html отображается в строке URL браузера.

1 Ответ

0 голосов
/ 18 ноября 2011

Это поможет:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Или это, если вы хотите определенный домен:

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Правила взяты из Drupal 7 и Drupal 6 соответственно и всегда работали хорошо для меня

EDIT

Глядя на ваш код еще раз, я думаю, что единственная проблема в том, что у вас нет / между http://www.domain.com и $1. Кроме этого, он в значительной степени идентичен второму примеру выше, который определенно работает

...