7

我在 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。

将我的永久链接结构更新为 后, Wordpress 生成/%postname%/的文件如下:.htaccess

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

4

5 回答 5

12

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

问题 1

首先,您的 apache 没有安装或启用 mod_rewrite.c 模块可能是个问题。

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

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

sudo a2enmod rewrite

重新启动您的 apache 服务器。

service apache2 restart

问题 2

除了上述之外,如果它不起作用,您可能还必须更改 apache conf 文件(或文件)apache2.conf中的覆盖规则。http.conf000-default

定位Directory /var/www/

更改Override NoneOverride All

问题 3

如果您收到一条错误消息,指出未找到重写模块,则可能您的 userdir 模块未启用。因此,您需要启用它。

在控制台中输入:

sudo a2enmod userdir

如果仍未启用(如上所述),则尝试启用重写模块。

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

于 2014-02-09T12:07:47.493 回答
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
于 2012-10-21T20:01:29.233 回答
1

我有同样的问题,但我正在使用其他 url 结构 /%category%/%postname%/

de 404 错误的问题在于,即使您设置了某种结构,wordpress 总是试图在 url 上创建带有单词“category”的 url。

尝试像这样输入您的网址:yoursite.com/category/postname,如果您现在没有收到任何错误是因为我们即将解决错误。现在尝试安装这个 wordpress 插件http://wordpress.org/extend/plugins/no-category-base-wpml/从 url 中删除“类别”基础

让我知道你的进步

于 2012-10-18T11:53:50.480 回答
0

用这个替换并尝试你的 .htaccess:

选项 +FollowSymlinks

重写引擎开启

RewriteCond %{HTTP_HOST} ^hostname.com$

RewriteRule ^(.*)$ http://www.hostname.com/ $1 [R=permanent,L]

于 2012-10-22T09:07:42.123 回答
0

每当我尝试启用我的网站对 mod_rewrite 的永久链接时,我都会遇到这个问题:“Pretty Permalinks”。我的站点是 AWS EC2 上的一个实例。

404 Errors 

Page Not Found
The requested URL .... was not found on this server.
Apache/2.4.7 (Ubuntu) Server at mydomain.com Port 80

我尝试了以上所有方法,但没有被修复。

最后,我检查了 /etc/apache2/sites-available/wordpress.conf,我发现我使用了 AWS 分配给每个实例的公共 IP 地址。一旦我将它更改为当前的 mydomain.com,它就可以工作了。

有时,wordpress.conf 会被 httpd (web sser) 锁定,我们需要在编辑后停止并启动它。我们还需要使用: sudo service apache2 stop/start 以便 wordpress.conf 可以重新加载。

希望我的经验可以帮助其他人。

于 2014-07-23T14:49:45.950 回答