Php 如何正确激活mod_rewrite mamp?
本地wordpress网站主页运行良好,但mod_rewrite不起作用。因此,主页可以正常工作,但只要我单击任何链接,我就会发现Php 如何正确激活mod_rewrite mamp?,php,wordpress,apache,mod-rewrite,mamp,Php,Wordpress,Apache,Mod Rewrite,Mamp,本地wordpress网站主页运行良好,但mod_rewrite不起作用。因此,主页可以正常工作,但只要我单击任何链接,我就会发现未找到 此错误的日志输出: [error] [client 127.0.0.1] File does not exist: /Applications/MAMP/htdocs/myweb/my-web-page-that-has-to-work, referer: http://myweb.dev/ 根据我的理解,该错误意味着它将查找该特定页面,而不是使用mod_r
未找到
此错误的日志输出:
[error] [client 127.0.0.1] File does not exist: /Applications/MAMP/htdocs/myweb/my-web-page-that-has-to-work, referer: http://myweb.dev/
根据我的理解,该错误意味着它将查找该特定页面,而不是使用mod_rewrite
从数据库中获取该页面
httpd.conf
相关内容:
# Virtual hosts, uncommented include
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
...
# AllowOverride All is here
<Directory "/Applications/MAMP/htdocs">
Options All
AllowOverride All
Order allow,deny
Allow from all
XSendFilePath "/Applications/MAMP/htdocs"
</Directory>
<VirtualHost *:80>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/myweb"
ServerName myweb.dev
ServerAlias www.myweb.dev
ErrorLog "/private/var/log/apache2/myweb-error_log"
CustomLog "/private/var/log/apache2/myweb-access_log" common
</VirtualHost>
关于如何使其工作的任何线索?首先确保Apache加载该模块。见: 然后将其添加到文件夹中的.htaccess文件中
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</IfModule>
重新启动发动机
重写基/
或者像这样将其添加到httpd-vhosts.conf更正:
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/myweb"
ServerName myweb.dev
ServerAlias www.myweb.dev
ErrorLog "/private/var/log/apache2/myweb-error_log"
CustomLog "/private/var/log/apache2/myweb-access_log" common
<Directory "/Applications/MAMP/htdocs/myweb">
AllowOverride All
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</IfModule>
</Directory>
</VirtualHost>
DocumentRoot“/Applications/MAMP/htdocs/myweb”
ServerName myweb.dev
ServerAlias www.myweb.dev
ErrorLog“/private/var/log/apache2/myweb-error\u log”
自定义日志“/private/var/log/apache2/myweb-access\u log”通用
允许超越所有
通融
重新启动发动机
重写基/
现在为WP添加重写规则,看看是否有效
您可以检查Apache是否正在使用文件夹中的PHP脚本加载模块。试试这个,然后从那里开始
<?php
if (in_array('mod_rewrite', apache_get_modules())) {
echo "Yes, Apache supports mod_rewrite.";
}
else {
echo "Apache is not loading mod_rewrite.";
}
首先确保MAMP Apache加载模块。默认情况下,MAMP已激活此选项李>
这是我为乔姆拉做的。Wordpress应该是类似的。Mac不允许您在根目录(htdocs/yourwebsite/)中重命名htaccess.txt
与其玩显示隐藏文件的插件,最简单的方法是打开Filezilla并在那里重命名本地文件。您可以使用常用的wordpress htaccess并将其重命名为.htaccess
在wordpress后端像往常一样激活重写
谢谢,但我使用的是MAMP,它是用于osx的,没有所谓的a2enmod
。此外,我还尝试将IfModule
放在那里,但Apache服务器无法启动。您是否尝试只打开RewriteEngine并允许将所有内容覆盖到Virtualhost。服务器无法启动。仅当我删除线条删除标记时有效。你也是这样做的。我做了,服务器启动了,但是没有变化,仍然没有找到。