zoukankan      html  css  js  c++  java
  • ubuntu apache rewrite

    解决方法一

    需要通过命令,或者自己重新创建个软连接才可以。
    命令是:sudo a2enmod rewrite
    软连接是:sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load 

    因为Ubuntu下,Apache的配置文件及目录结构不大一样,所以mods-avalilable下的是可用的模块,而真正启用了的模块是在mods-enable目录底下的。所以自己创建软连接也可以实现启用rewrite模块。

    除了启用rewrite外,还有地方需要修改的,如果你的站点只有一个,那修改/etc/apache2/sites-available/default这个文件就可以

    <Directory />
    Options FollowSymLinks
    AllowOverride None(修改为AllowOverride All)
    </Directory>
    <Directory "/var/orioner">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None(修改为AllowOverride All)
    Order allow,deny
    allow from all
    </Directory>
    其实网上其它地方贴出来的解决办法是吧Options FollowSymlinks的给改了就行了。其实不行,还要把Options Indexes FollowSymLinks MultiViews的也给改了才可以。

    ==============================================================================

    解决方法二

    在终端中执行

    sudo a2enmod rewrite

    指令后,即启用了 Mod_rewrite 模块。

    另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块。用指令操作就是:

    sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

    一点小提示

    事实上,当我在 Ubuntu 中采用上述做法并重启了 Apache 服务后,仍然无法正常 rewrite 网址。这里,还有一点需要注意的地方:

    sudo vim /etc/apache2/sites-enabled/000-default

    将其中的:

    AllowOverride None

    修改为:

    AllowOverride All

    上面的 /etc/apache2/sites-enabled/000-default 实则为 /etc/apache2/sites-available/default 的连接。而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。

    最后,别忘了使用下列指令来重启 Apache:

    sudo /etc/init.d/apache2 restart.

  • 相关阅读:
    【移动自动化】【三】控件定位
    【移动自动化】【二】Appium
    【自动化测试:笔记一】adb命令
    mysql api
    计算经纬度的正方形边界
    转 高效的多维空间点索引算法 — Geohash 和 Google S2
    转 为什么geometry+GIST 比 geohash+BTREE更适合空间搜索
    转 HBase GC日志
    转 HBase最佳实践-CMS GC调优
    转:HBase最佳实践-内存规划
  • 原文地址:https://www.cnblogs.com/liqiu/p/2570068.html
Copyright © 2011-2022 走看看