我在 SO 上看到了一些关于这个问题的其他帖子,但是没有一个建议的解决方案对我有用,所以我重新发布。
将我的永久链接结构更改为 /%postname%/
后,所有链接都不起作用。我得到以下404:
Not Found
The requested URL /my-post-name/ was not found on this server.
Apache/2.2.20 (Ubuntu) Server at mysite.com Port 80
当我回到
default
永久链接结构它再次开始工作,但我想要 /%postname%/
反正结构。我的
.htaccess
文件的 chmod
是777。将我的永久链接结构更新为
/%postname%/
后, .htaccess
Wordpress 生成的文件如下:# 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
有什么想法吗?
编辑:
我试图将永久链接结构更改为以下内容:
/index.php/%postname%/
它很高兴地工作。然而,问题是现在,毫不奇怪,链接采用以下形式:
www.mysite.com/index.php/my-page.com
我的问题是如何删除
index.php
从我的链接。当我从永久链接结构(即 /%postname%/
)中删除它时,我的链接不再有效。PS:我不使用博客条目,而是只使用我网站中的页面。如果有必要,我的网站是:mll.sehir.edu.tr。
最佳答案
如果您知道问题的根源,有很多方法可以解决此问题。
问题 1
首先,您的 apache 没有安装或启用 mod_rewrite.c 模块可能是个问题。
因此,您必须按以下方式启用它
打开你的控制台并输入它,这个:
sudo a2enmod rewrite
重新启动您的 apache 服务器。
service apache2 restart
问题 2
除了上述之外,您还可能需要更改 apache conf 文件(
apache2.conf
、http.conf
或 000-default
文件)中的覆盖规则。定位
Directory /var/www/
更改
Override None
至Override All
问题 3
如果您收到一条错误消息,指出未找到重写模块,则可能您的 userdir 模块未启用。因此,您需要启用它。
在控制台中输入:
sudo a2enmod userdir
如果仍未启用(如上所述),则尝试启用重写模块。
要进一步了解此内容,您可以访问此网站:http://seventhsoulmountain.blogspot.com/2014/02/wordpress-permalink-ubuntu-problem-solutions.html
关于Wordpress 永久链接结构更改问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12951357/