如何开启Apache2 Rewrite功能
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
、Ubuntu默认未启Rewrite支持
apche模块加载工作已散同配置文件看起似乎更合理管理起非便面看何启Rewrite模块用户需使用301重定向、伪静态等Rewrite功能般都习惯于使用.htaccess文件配置比面301重定向:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ [L,R=301]
配置完使用/etc/init.d/apache2 reload命令加载效未启Rewrite功能则现500错误(浏览器显示)查看LOG错误:
[Sun Jan 30 02:41:29 2011] [alert] [client 12.34.56.78] /srv/www/abc.com/public_html/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
说明需要启Rewrite模块加载加载启程
二、手启加载Rewrite
1、使用终端工具连接服务器输入管理员帐号密码
2、执行加载Rewrite模块:
?a2enmod rewrite
执行提示OK重启Apache命令(/etc/init.d/apache2 restart)
3、参照文目录配置做启链接(启自加载):
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
执行mods-available目录创建快捷式连接mods-enabledrewrite模块
4、重启apache:
/etc/init.d/apache2 restart
注意:使用apache默认网站目录(般类似于/var/www文件夹)没创建单独自配置文件能需要修改/etc/apache2/sites-available/default文件其AllowOverride None修改AllowOverride Alldefault配置默认关闭.htaccess重载打.htaccess才效
三、何判断Rewrite已经启
1、检查确认Rewrite模块加载
本文测试CentOS 6系统路径:/etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
前面注释掉即重启APACHE
2、检查确认目录Rewrite打
Rewrite库加载代表我.htaccess文件能效需要专门打指定目录AllowOveride关脚本:
var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
其AllowOverride能定义DirectorySection具体用参考apache官说明(文链接)脚本般放httpd.conf或/etc/httpd/conf.d/vhost.conf面尽量更网站配置:
....
定义起便维护
3、测试Rewrite功能
.htaccess测试实例:
# BEGIN
RewriteEngine on
RewriteBase /
RewriteRule .*$
#END
测试拷贝保存.htaccess传网站根目录访问网站任何路径页面均跳转本博客说明Rewrite已效
apche模块加载工作已散同配置文件看起似乎更合理管理起非便面看何启Rewrite模块用户需使用301重定向、伪静态等Rewrite功能般都习惯于使用.htaccess文件配置比面301重定向:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ [L,R=301]
配置完使用/etc/init.d/apache2 reload命令加载效未启Rewrite功能则现500错误(浏览器显示)查看LOG错误:
[Sun Jan 30 02:41:29 2011] [alert] [client 12.34.56.78] /srv/www/abc.com/public_html/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
说明需要启Rewrite模块加载加载启程
二、手启加载Rewrite
1、使用终端工具连接服务器输入管理员帐号密码
2、执行加载Rewrite模块:
?a2enmod rewrite
执行提示OK重启Apache命令(/etc/init.d/apache2 restart)
3、参照文目录配置做启链接(启自加载):
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
执行mods-available目录创建快捷式连接mods-enabledrewrite模块
4、重启apache:
/etc/init.d/apache2 restart
注意:使用apache默认网站目录(般类似于/var/www文件夹)没创建单独自配置文件能需要修改/etc/apache2/sites-available/default文件其AllowOverride None修改AllowOverride Alldefault配置默认关闭.htaccess重载打.htaccess才效
三、何判断Rewrite已经启
1、检查确认Rewrite模块加载
本文测试CentOS 6系统路径:/etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
前面注释掉即重启APACHE
2、检查确认目录Rewrite打
Rewrite库加载代表我.htaccess文件能效需要专门打指定目录AllowOveride关脚本:
var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
其AllowOverride能定义DirectorySection具体用参考apache官说明(文链接)脚本般放httpd.conf或/etc/httpd/conf.d/vhost.conf面尽量更网站配置:
....
定义起便维护
3、测试Rewrite功能
.htaccess测试实例:
# BEGIN
RewriteEngine on
RewriteBase /
RewriteRule .*$
#END
测试拷贝保存.htaccess传网站根目录访问网站任何路径页面均跳转本博客说明Rewrite已效
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询