Jon*_*ano 12 php apache wordpress mod-rewrite centos7
我正在使用Wordpress并希望启用漂亮的网址功能,但它们不起作用,我认为这是因为mod_rewrite,但我不知道如何在CentOS 7下的Apache 2.4上启用它...
我已经试过了:
grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
Run Code Online (Sandbox Code Playgroud)
但没有...也想知道加载所有Apache模块有任何不良后果或是不好的做法?
Jon*_*ano 20
我找到了知道模块是否加载的方法,这里是命令列出启用的模块:
apachectl -M | sort
Run Code Online (Sandbox Code Playgroud)
它将按字母顺序列出所有已启用的模块.
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
Run Code Online (Sandbox Code Playgroud)
我唯一需要做的就是将其添加到vhost.conf文件中 /etc/httpd/conf.d/vhosts.conf
<Directory /var/www/mysite>
Options Indexes FollowSymLinks
Require all granted
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
那是因为我正在处理该文件中的主机.但它可以在httpd.conf
或.conf
包含在其中的任何其他文件中完成httpd.conf
谢谢...
Apache2中附带的可执行文件a2enmod
,并a2dismod
会做符号链接conf文件中所有的"脏活".
在基于Debian的发行版中,通常的位置是/etc/apache/mods-available/
.以下是.conf配置文件(适用时)和带有LoadModule
Apache2指令的每个模块的.load文件.如果模块中有.ml文件的符号链接,则启用该模块/etc/apache2/mods-enabled/
.
例如,您可以使用命令启用Rewrite模块
$ a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
小智 9
# nano /etc/httpd/conf/httpd.conf
Run Code Online (Sandbox Code Playgroud)
找
follow (AllowOverride none)
Run Code Online (Sandbox Code Playgroud)
并改变它
(AllowOverride All)
Run Code Online (Sandbox Code Playgroud)