如何从永久链接中删除“ index.php” [Composer上的WordPress]

时间:2018-09-06 11:35:24

标签: wordpress .htaccess composer-php permalinks

我有本地服务器,在该服务器上运行带有Composer的WordPress。

从我的本地数据库迁移到AWS RDS后,永久链接改变了它的行为:现在,标记的开头有“ index.php”,例如:

  

http://example.com/ index.php /页面名称

此外,在 wp-admin-> Settings-> Permalinks 中,该结构现在是自定义的:

  

/index.php/%year%/%monthnum%/%day%/%postname%/

有关我的本地服务器的详细信息:

  • Xubuntu 18
  • Apache2
  • /var/www/的全部AllowOverride
  • 它位于Composer上,带有自定义目录(wp内容与wp核心分开)
  • .htaccess:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /project/public/wp/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /project/public/wp/index.php [L]
    </IfModule>
    
    # END WordPress
    

我尝试过的事情:

http://dejanjanosevic.info/remove-index-php-permalink-in-wordpress/

http://derekmolloy.ie/remove-index-php-from-your-wordpress-url/

  • 更新永久链接
  • 更新作曲家
  • 把我的灵魂卖给撒旦

结果如何?

Modyfying .htaccess无效-只是以404结尾,唯一有效的链接仍然是包含/index.php/的链接。从WordPress更新永久链接具有相同的结果。

我这里的想法不多了。

1 个答案:

答案 0 :(得分:0)

我知道了。

对于寻求解决同一问题的任何人,请参见以下指南:

  1. 将wp-admin中的永久链接设置更改为漂亮的永久链接
  2. 在Apache中安装mod_rewrite模块
  3. 最重要的部分,在etc / apache / apache2.conf中(请注意,您必须更改文件夹名称):

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all denied
     </Directory>
    
     <Directory /usr/share>
        AllowOverride None
        Require all granted
     </Directory>
    
     <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
     </Directory>
    
     #<Directory /srv/>
     #  Options Indexes FollowSymLinks
     #  AllowOverride None
     #  Require all granted
     #</Directory>
    
     <Directory "/var/www/html/NAME_OF_YOUR_PROJECT_FOLDER">
     Options FollowSymLinks
     AllowOverride All
     </Directory>*
    
    1. 重新启动apache