Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何正确激活mod_rewrite mamp?_Php_Wordpress_Apache_Mod Rewrite_Mamp - Fatal编程技术网

Php 如何正确激活mod_rewrite mamp?

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

本地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_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。服务器无法启动。仅当我删除线条删除标记时有效。你也是这样做的。我做了,服务器启动了,但是没有变化,仍然没有找到。