当前位置: 首页 > 知识库问答 >
问题:

WordPress PermaLinks不工作(启用mod重写+启用FollowSymLinks+Webserver可以在.htaccess中写入)

司空坚
2023-03-14

我正面临一个严重的问题。我克隆的Wordpress安装中的Permalinks不起作用。例如,如果我有一个类别“cars”,我希望链接看起来像mysite.com/category/cars。原始版本是在不同的服务器上,而不是我正在工作。我更改了数据库中“siteurl”和“home”的值,以及wp-config.php文件中“wp_home”和“wp_siteurl”的值。数据库凭据是正确的(一开始用“丑陋的”链接检查,它起作用了)。Mod重写被启用,apache的FollowSymLinks选项在/etc/apache2/sites-enabled/000-default.conf文件中被启用,文档根指向/var/www/mywordpressinstallation,.htaccess文件对Wordpress是可写的。apache服务器版本是2.4.7。该网站以前托管在NGinx服务器上,这可能是与我们的服务器冲突的东西吗?

/etc/apache2/sites-enabled/000-default.conf文件:

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/mywordpressinstallation
    <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>
# 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

我正在工作的网站也有一个自定义的构建插件。我不是舒尔,如果这也可能是问题的原因,因为它不是一个标准的构建WP插件。

先谢谢你的回答

共有1个答案

元胡媚
2023-03-14

我出乎意料地解决了这个问题。我只是从一个已经工作的服务器上复制了一个default.conf,并编辑了文档根路径。检查后发现,我给apache提供了错误的文件夹路径。您必须写出整个路径,而不是从DocumentRoot EX中写出相对路径。“/”可能是错误的,但“/var/www”可能是正确的,如果您想为该路径设置规则,即使您已经将DocumentRoot路径设置为“/var/www”,您仍然必须编写整个路径。

 类似资料:
  • 我希望你能帮忙。我试图写一个htaccess文件做以下事情。 1)重定向到www.地址 2) 从url中删除.php 3) 如果文件不存在,则使用filechecker.php?page=filename 1.我能忍受 RewriteCond%{HTTP_HOST}^example.com$ *)http://www.example.com/1美元[R=301, L] 2) 我受够了 Rewrit

  • 问题内容: 我已经使用SLIM PHP框架创建了一个基本的RESTful服务,现在我正尝试将其连接起来,以便可以从Angular.js项目访问该服务。我已经了解到Angular开箱即用地支持CORS,而我要做的就是在我的.htaccess文件中添加以下行: 我已经做到了,我的REST应用程序仍然可以正常工作(.htaccess错误导致500个内部服务器没有错误),但是当我尝试从test- cors

  • 我用CodeIgniter和几个控制器构建了一个应用程序 除了在应用/配置/routes.php文件中设置为默认的控制器之外,所有控制器似乎都工作正常 我的. htaccess文件看起来像这样: 重写引擎在 RewriteBase/ RewriteCond%{REQUEST_FILENAME}上-重写cond%{REQUEST_FILENAME}-d 重写规则^(.*)$/索引。php/$1[L]

  • 重写httpd.conf中的模块如下: 通往成功之路。htaccess: 所以在。htacess我有这个: 我希望尝试: 而不是: 它应该可以工作,因为它在生产环境中工作,而不是在本地主机上,我有wamp服务器apache,下面是一些配置: 在C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf中: 这是不正确的,因为Anu说,所以我改变了在C:\wamp\

  • 我对symfony框架知之甚少。我复制了一个网站www.example。net访问www.example。com站点使用url 它不会重定向。 谢谢

  • 嗯,我的.htaccess有问题,我想重写这个: http://domain.com/a/thread-103518.html#103518 对这个 http://domain.com/a/103518 换句话说。。。我想删除“thread-”和“.”后面的所有内容,/a/必须是变量。。。还有其他带有/bla/和/code的论坛/ 你有什么线索给我吗?非常感谢。 我的.htaccess现在: 重写