【发布时间】:2011-01-27 12:08:13
【问题描述】:
我的主要 Joomla 安装在一个子目录中。我曾经使用 301 将用户从 www.mysite.com 重定向到 www.mysite.com/subdir,这样现场网站就完全错位了。
我实际上不喜欢所有 URL 前面都有子目录 /subdir/ 的事实(而且我也认为这对 SEO 不是很好)所以我修改了我的 .htaccess 文件,如下所示:
RewriteEngine On
RewriteBase /
# Add trailing slash if path does not contain a period or end with a slash
RewriteCond %{REQUEST_URI} !(\.|/$)
RewriteRule (.*) http://www.mysite.com/$1/ [R=301,L]
#Change http://yoursite.com to http://www.mysite.com (Optional)
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^/?(.*)$ http://www.mysite.com/$1 [R=301,L]
#Rewrites http://www.mysite.com/subdir to http://www.mysite.com/
RewriteRule ^(.*)$ subdir/$1 [L]
我还编辑了 Joomla! 的配置文件!这样现在站点中的所有链接(正确)指向 www.main.com/theirquery 而不是指向 www.main.com/subdir/theirquery
然而,现在所有旧链接(例如,已发布到其他网站的)似乎都已损坏 (404):我该如何解决这个问题? 我想我必须将它们重定向(301)到新的无子目录地址,这将(另一次)用我发布的 htaccess 静默重定向。 但我不知道该怎么做!
提前谢谢你!
【问题讨论】: