lau*_*kok 2 php apache wordpress
我最近安装了灯堆栈并启用了 mod_rewrite:
$ sudo a2enmod rewrite
$ service apache2 restart
Run Code Online (Sandbox Code Playgroud)
我可以在我的 phpinfo 上看到它:
但是当我尝试在我的 WordPress 中访问如下 URL 时:
http://my-localhost/my-wordpress/whats-on/
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
未找到
在此服务器上找不到请求的 URL /my-wordpress/whats-on/。
Apache/2.4.18 (Ubuntu) 服务器位于 127.0.0.1 端口 80
我还可以做些什么?我错过了什么吗?
有任何想法吗?
我也打开了 .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my-wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /my-wordpress/index.php [L]
</IfModule>
# END WordPress
Run Code Online (Sandbox Code Playgroud)
但为什么?
编辑:
我创建了一个简单的测试:
RewriteRule ^test.html$ test.php [L]
Run Code Online (Sandbox Code Playgroud)
但我得到 404 错误而不是被定向到 test.php
Not Found
The requested URL /mod_rewrite/basic/test.html was not found on this server.
Apache/2.4.18 (Ubuntu) Server at 127.0.1.1 Port 80
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
小智 5
要解决此问题,请按照以下步骤操作:
sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
寻找:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
用。。。来代替:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
退出并保存并使用命令重新启动 apache
sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)
结束 :-)