SEO友好的URL重定向循环

时间:2014-05-10 16:17:31

标签: .htaccess redirect modx

我试图为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

但我每次都会得到一个重定向循环。我做错了什么?

1 个答案:

答案 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]

保持原样。