如何为Apache2.2启用mod_rewrite

如何为Apache2.2启用mod_rewrite

我在Vista的机器上安装了新的Apache2.2,一切正常,除了MOD重写。

我没有评论

LoadModule rewrite_module modules/mod_rewrite.s

但是我重写的规则都不起作用,即使是像这样简单的规则

RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404

我使用的所有规则都在我的主机上工作,所以它们应该没问题,所以我的问题是,Apache配置中有什么隐藏的东西可以阻止mod重写吗?


拉风的咖菲猫
浏览 1117回答 4
4回答

天涯尽头无女友

为了使用mod_rewrite您可以在终端中键入以下命令:sudo&nbsp;a2enmod&nbsp;rewrite重新启动apache2之后sudo&nbsp;/etc/init.d/apache2&nbsp;restart或sudo&nbsp;service&nbsp;apache2&nbsp;restart或者按照新的统一系统控制方式sudo&nbsp;systemctl&nbsp;restart&nbsp;apache2然后,如果您愿意,可以使用以下内容.htaccess档案。<IfModule&nbsp;mod_rewrite.c> &nbsp;&nbsp;&nbsp;&nbsp;RewriteEngine&nbsp;On &nbsp;&nbsp;&nbsp;&nbsp;RewriteBase&nbsp;/ &nbsp;&nbsp;&nbsp;&nbsp;RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-f &nbsp;&nbsp;&nbsp;&nbsp;RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-d &nbsp;&nbsp;&nbsp;&nbsp;RewriteRule&nbsp;.&nbsp;/index.php&nbsp;[L] </IfModule>上述.htaccess文件(如果放在DocumentRoot)将所有流量重定向到index.php文件中的DocumentRoot除非文件存在。因此,假设您有以下目录结构,httpdocs是DocumentRoothttpdocs/ &nbsp;&nbsp;&nbsp;&nbsp;.htaccess &nbsp;&nbsp;&nbsp;&nbsp;index.php &nbsp;&nbsp;&nbsp;&nbsp;images/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello.png &nbsp;&nbsp;&nbsp;&nbsp;js/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jquery.js &nbsp;&nbsp;&nbsp;&nbsp;css/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style.css includes/ &nbsp;&nbsp;&nbsp;&nbsp;app/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;app.php在httpdocs中存在的任何文件都将使用.htaccess然而,上面显示的其他一切都将被重定向到httpdocs/index.php..中的应用程序文件includes/app将无法进入。

函数式编程

对于我的处境,我RewriteEngine&nbsp;On在我的.htaccess,随着模块的加载,它无法工作。解决我的问题的方法是将vhost条目编辑到inlcude。AllowOverride&nbsp;all在<Directory>有关站点的部分。

桃花长相依

试着设置:AllowOverride All.第二个最常见的问题是没有启用MOD重写:a2enmod rewrite然后重启Apache。

慕娘9325324

如果没有上述工作,请尝试编辑/etc/apache2/site-启用/000-默认几乎在你能找到的顶端<Directory&nbsp;/var/www/> &nbsp;&nbsp;&nbsp;&nbsp;Options&nbsp;Indexes&nbsp;FollowSymLinks&nbsp;MultiViews &nbsp;&nbsp;&nbsp;&nbsp;AllowOverride&nbsp;None &nbsp;&nbsp;&nbsp;&nbsp;Order&nbsp;allow,deny &nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;all </Directory>更改AllowOverride None到AllowOverride All这对我有用
打开App,查看更多内容
随时随地看视频慕课网APP