Joomla默认设置URL是动态的,这样不利于SEO,所以我们要对其做静态化设置,让搜索引擎更容易收录Joomla内容。这就是Joomla SEO的重要组成部分。
如何实现?需要三个部分:
1、在服务器上打开rewrite这个功能,就是URL地址重写的功能:
一般Linux Apache服务器,或windows wamp服务器都有此设置,将Rewrite功能打开,使用虚拟空间的朋友可以咨询服务器提供商。
2、在你安装Joomla的目录下,把htaccess.txt改成.htaccess;另外在.htaccess文件里要做一定的改动。
1) 假如你的站点不是安装在根目录下,而是subdirectory这个目录下,在.htaccess里找到下面的代码:
RewriteCond %{REQUEST_URI} !^/index.php
改成下面这样:
RewriteCond %{REQUEST_URI} !^/subdirectory/index.php
2) 假如你的站点是安装在根目录下,只要在RewriteBase /前面去掉那个#就可以了。
3、用管理员登陆后台,在“网站”->”全局设置”->”网站”下,找到右边的”搜索引擎优化设置”,把3个都选择“是”,然后点“保存”,保存刚才的设置。
这样就可以做到Joomla URL静态化了。
另外就是你在发布文章的时候,那个Alias就是显示在URL里的,所以你可以在这个地方指定你想要显示出来关于你这篇文章的URL。
下面是我的.htaccess文件内容(注意,文件名是以“.”点头的):
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR] RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]