SEO дружественные URL Redirect Loop
Я пытаюсь настроить оптимизированные для SEO URL-адреса для MODX Revolution, но у меня возникают проблемы с циклом перенаправления. Я работаю над сайтом в Bluehost. Доменное имя сайта еще не перенесено, так как я работаю над переносом сайта на MODX, поэтому я использую общий IP.
# Friendly URLs Part
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} .
# Force all pages to go to www.domain.com for SEO
RewriteCond %{HTTP_HOST} !^12.123.123.123/~username/ [NC]
RewriteRule (.*) http://12.123.123.123/~username/$1 [R=301,L]
# Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# Additional Settings Follow
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
BrowserMatch "MSIE" brokenvary=1
BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
BrowserMatch "Opera" !brokenvary
SetEnvIf brokenvary 1 force-no-vary
Когда я захожу на страницу, URL отображается правильно отформатирован:
http://12.123.123.123/~username/about.html
но я получаю цикл перенаправления каждый раз. Что я делаю неправильно?
1 ответ
Не уверен, что вы пытались достичь, но я бы восстановил файл.htaccess по умолчанию для MODX Revolution ( https://github.com/modxcms/revolution/blob/develop/ht.access) и настроил его следующим образом...
Поскольку ваш сайт находится в подпапке, установите его, используя RewriteBase
:
RewriteEngine On
RewriteBase /~username
Восстановите стандартные условия перезаписи "не на www", они вам не понадобятся, пока ваш сайт не будет доступен по доменному имени (а не по IP-адресу):
# Force all pages to go to www.domain.com for SEO
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]
Оставь остальное как есть.