前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

Ubuntu上若何开启Apache Rewrite服从

时候:2014-04-20 23:58来源:知行网www.zhixing123.cn 编辑:麦田守望者

在Windows上开启Apache非常简朴,因为apache的用户建设都是放在http.conf文件中,要开启Rewrite服从,只需求把该文件中LoadModule rewrite_module modules/mod_rewrite.so前面的谛视去失落,然后重启APACHE便可。但在Ubuntu上则有所不合,默许Apache包建设是遵循目次和文件存放的,/etc/apache2目次包含conf.d、mods-available、mods-enabled、sites-available、sites-enabled文件夹,apache2.conf、envvars、httpd.conf(用户建设文件)、magic、ports.conf(APACHE端口建设)建设文件。

一、Ubuntu默许未开启Rewrite支撑

此中,mods-available是指可用的模块,mods-enabled是指以后已默许加载的模块。httpd.conf默许是个空文件,因为年夜部分加载事情都被分离到不合的建设文件里,团体加载建设文件是apache2.conf,其部分内容以下:

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

......

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

从这些语句可以看出,加载事情已分离到不合的建设文件,如许看起来仿佛更加公道,办理起来也非常便利。下面看一下若何开启Rewrite模块,当用户需利用301重定向、伪静态等Rewrite服从时,一般都习惯于利用.htaccess文件建设,比以下面的301重定向:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.metsky.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.abc.com[NC]
RewriteRule ^(.*)$ http://www.metsky.com/$1 [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/met.com/public_html/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

申明需求手动开启Rewrite模块加载,加载开启过程以下。

2、手动开启加载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-enabled下rewrite模块。

4、重启apache:

/etc/init.d/apache2 restart

3、单一缺省网站建设及重定向参考

如果只需一个网站,且默许利用apache分派的默许www文件夹(没有建立伶仃的建设文件,比如/sites-availbe/metsky.com),可能还需求点窜/etc/apache2/sites-available/default这个文件,把此中的AllowOverride None点窜成AllowOverride All,因为default建设里还默许封闭.htaccess重载,翻开后.htaccess才会见效。

<VirtualHost 12.34.56.78:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

< /VirtualHost>

建设完成后,重启 Apache,号令:/etc/init.d/apache2 restart

顶一下
(0)
0%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Ubuntu Ubuntu教程 Ubuntu丑化 Ubuntu技能 ubuntu源 ubuntu模板
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣