在 SuSE linux上启用apache2.0的 rewrite模块实现SEO功能
一般的Apache主机都开了mod_rewrite的,开启mod_rewrite的最大的好处就是搜索引擎优化(SEO-Search Engine Optimization),实现Search Engine Friendly功能。
开启这一模块后,通过将htaccess.txt 改名为.htaccess后,就可以启用网站的SEO功能了。
在 SuSE linux上启用apache2.0的 rewrite模块简而言之有5步:
1:编辑 /etc/sysconfig/apache2 ,在APACHE_MODULES里增加 rewrite
2:运行“SuSEconfig“命令来更新 apache 的配置文件
3:修改 /etc/apache2/default-server.conf ,将/etc/apache2/default-server.conf的
AllowOverride None 修改为
AllowOverride All
4:运行”/etc/init.d/apache2“命令重启apache2
5:将htaccess.txt 改名为.htaccess后,启用网站的SEO功能
以下为详细描述:
Follow these steps to enable the mod_rewrite Apache rewrite module on SuSE Linux
Description of the problem
By default, SuSE doesn't enable the mod_rewrite rewrite module. It's installed, but not enabled.
Follow these steps to install it.
Solution - enable mod_rewrite on SuSE linux
1: Edit the file /etc/sysconfig/apache2 as root:
search for APACHE_MODULES, you should find a line like this
APACHE_MODULES="suexec access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif userdir ssl php4"
Add rewrite to the content in the list between the "
Save the changes and quit
2: run SuSEconfig to update the apache configuration files
3: run /etc/init.d/apache2 restart to restart the Apache server
Now, the mod_rewrite is enabled and integrated.
Check if mod_rewrite is installed and integrated in Apache
You can check this e.g. with the following php file. Create a file in your document root of your webserver (default on SuSE: /srv/www/htdocs) and copy the following content into this file:
When you view this file with your browser, search for rewrite - you should find one entry. If not - check if you did all steps 1 to 3.
Test .htaccess rewrite rule on SuSE linux Apache
The next step is to create an initial .htaccess rewrite rule to test if it's working now. Create a file .htaccess in your document root (default on SuSE: /srv/www/htdocs) with the following content:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule user/(.*)$ /user.php?user=$1
This is a simple rule that redirects all urls with the format user/something to the script /user.php with the something as parameter user. The IfModule prevents Apache errors when mod_rewrite should disappear.
If this doesn't work - there is another pitfall of the default SuSE Apache installation: you're not allowed to create custom .htaccess files! So - lets enable them
Enable custom Apache .htaccess mod_rewrite files on SuSE linux
Edit the file /etc/apache2/default-server.conf with your prefered editor
Search for AllowOverride - it should be below the line
Change AllowOverride None to AllowOverride All - this will allow custom .htaccess rewrite rules
Save your changes and exit
run SuSEconfig to update the apache configuration files
run /etc/init.d/apache2 restart to restart the Apache server
That's all, now you can test the .htaccess rewrite rule again and it will work.
参考资料:http://enarion.net/web/apache/htaccess/mod_rewrite-on-suse/