我正在使用Wordpress并希望启用漂亮的网址功能,但它们不起作用,我认为这是因为mod_rewrite,但我不知道如何在CentOS 7下的Apache 2.4上启用它。 ..
我已经尝试过了:
grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
但没有...... 还想知道加载所有Apache模块有什么不良后果还是不好的做法?
答案 0 :(得分:19)
我找到了解模块是否加载的方法,这里是命令列出启用的模块:
apachectl -M | sort
它将按字母顺序列出所有已启用的模块。
Wordpress有一个.htaccess但是默认,它允许rewrite_module
使用它:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我唯一需要做的就是将其添加到/etc/httpd/conf.d/vhosts.conf
<Directory /var/www/mysite>
Options Indexes FollowSymLinks
Require all granted
AllowOverride All
</Directory>
那是因为我正在处理该文件中的主机。但可以在httpd.conf
或.conf
httpd.conf
文件中完成
...谢谢
答案 1 :(得分:9)
# nano /etc/httpd/conf/httpd.conf
找到
follow (AllowOverride none)
并改变它
(AllowOverride All)
答案 2 :(得分:7)
Apache2附带了可执行文件a2enmod
和a2dismod
,可执行所有&#34;脏工作&#34;符号链接conf文件。
在基于Debian的发行版上,通常的位置是/etc/apache/mods-available/
。以下是.conf配置文件(如果适用)和每个模块的.load文件以及LoadModule
Apache2指令。如果/etc/apache2/mods-enabled/
中的.load文件存在符号链接,则启用模块。
例如,您可以使用命令
启用重写模块$ a2enmod rewrite
答案 3 :(得分:2)
在 httpd.conf 中,搜索 AllowOverride无并将其更改为 AllowOverride All ,然后重新启动apache
答案 4 :(得分:0)
是的,从“无覆盖”更改为“全部覆盖”:
在Debian 10上的配置文件在这里:
/etc/apache2/apache2.conf
我不知道安全隐患,但是可以!
答案 5 :(得分:0)
仅适用于CentO 7: a2enmod 是 Debian / Ubuntu 命令。您需要为 CentOS 服务器编辑 Apache配置文件。
您想要做的是编辑 /etc/httpd/conf/httpd.conf 文件,并确保已更改该块的 AllowOverride 标志从无到全部。
基本上应该是这样的: (注意:默认的httpd.conf文件中有很多注释行)
<目录“ / var / www / html”> 允许全部覆盖
答案 6 :(得分:-2)
用于重写模块只需检查此youtube一步一步的教程,与wamp apache https://youtu.be/xIspOX9FuVU?t=1m43s中的启用重写模块有关.Wamp服务器图标 - &gt; Apache - &gt; Apache模块并标记为检查重写模块选项
之后你可以使用网址重写