Wordpress永久链接结构改变问题

Sai*_*ait 7 wordpress .htaccess permalinks

我已经看到关于这个问题的其他一些帖子,但是没有一个建议的解决方案对我有用,所以我重新发布.

将永久链接结构更改为/%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
Run Code Online (Sandbox Code Playgroud)

当我回到default固定链接结构时它又开始工作了,但我想要有/%postname%/结构.

我的.htaccess档案chmod是777.

更新我的固定链接结构后/%postname%/,.htaccessWordpress生成的文件如下:

# 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)

有什么想法吗?

编辑:

我试图将永久链接结构更改为以下内容:

/index.php/%postname%/
Run Code Online (Sandbox Code Playgroud)

它很愉快地工作.但是,问题现在,毫不奇怪,链接的形式如下:

www.mysite.com/index.php/my-page.com
Run Code Online (Sandbox Code Playgroud)

我的问题是如何index.php从链接中删除.当我从永久链接结构(即/%postname%/)中删除它时,我的链接不再起作用.

PS:我没有使用博客条目,而只使用我网站中的网页.如果有必要,我的网站是:mll.sehir.edu.tr.

Kri*_*mar 12

如果您知道问题的根源,有多种方法可以解决此问题.

问题1

首先,您的apache没有安装或启用mod_rewrite.c模块可能会出现问题.

因此,您必须按如下方式启用它

打开你的控制台并输入它,这个:

sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)

重启你的apache服务器.

service apache2 restart
Run Code Online (Sandbox Code Playgroud)

问题2

您也可以,除了上面的,如果它不能正常工作,必须从Apache的conf文件(要么改变倍率规则apache2.conf,http.conf000-default文件).

定位 Directory /var/www/

更改Override NoneOverride All

问题3

如果您收到错误,指出未找到重写模块,那么可能您的userdir模块未启用.因此,您需要启用它.

在控制台中输入以下内容:

sudo a2enmod userdir
Run Code Online (Sandbox Code Playgroud)

然后尝试启用重写模块,如果仍未启用(如上所述).

要进一步阅读此内容,您可以访问以下网站:http://seventhsoulmountain.blogspot.com/2014/02/wordpress-permalink-ubuntu-problem-solutions.html


Jon*_*nis 4

听起来像是您服务器上的符号链接有问题。在您的 .htaccess 中尝试此操作,并在进行更改后将其更改为 644:

Options +FollowSymlinks
RewriteEngine on

# 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)