我试图为MODX Revolution设置SEO友好网址,但我遇到了重定向循环问题。我在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
当我访问某个网页时,该网址似乎格式正确:
http://12.123.123.123/~username/about.html
但我每次都会得到一个重定向循环。我做错了什么?
答案 0 :(得分:0)
不确定您要实现的目标,但我会恢复MODX Revolution(https://github.com/modxcms/revolution/blob/develop/ht.access)的默认.htaccess文件并按如下方式进行调整...
由于您的网站目前位于子文件夹中,请使用RewriteBase
:
RewriteEngine On
RewriteBase /~username
恢复默认的“非www到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]
保持原样。