我想将我的永久链接结构设置为%postname%,但这样做会使每个页面都转到404页面,在服务器上找不到请求的URL。我使用的是mac,并使用mac的php和apache运行我自己的开发服务器。我按照以下指南启动了服务器:http://www.coolestguidesontheplanet.com/downtown/get-apache-mysql-php-and-phpmyadmin-working-osx-109-mavericks
这些是我采取的步骤,但都没有奏效:
- 编辑了我的htaccess
Options +FollowSymlinks
RewriteEngine on
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~wayne/plugin-dev/
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~wayne/plugin-dev/index.php [L]
</IfModule>
# END WordPress
通过取消注释确保/etc/apache2/httpd.conf的重写引擎处于打开状态
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
同时确保
AllowOverride
设置为all。
唯一可行的方法是,如果我使用自定义的permalink结构并放置index.php/%postname%/
,但我所有的页面前面都会有一个index.php,我不希望这样。
简单地转到WAMP文件夹。在WAMP中,进入垃圾桶;然后是apache。在apache中有一个文件夹名称conf;在conf中有一个文件名httpd。用记事本打开那个文件,找出这行#LoadModule setenvif_module modules/mod_setenvif.so
通过从此行中删除散列,将启用mod重写功能。然后你可以为你的网站使用任何自定义的永久链接。
如果需要进一步的帮助,请告诉我;我将向您发送WAMP的完整文件或设置。
@Mehreen的答案非常接近正确。我也有这个问题,把头发拔了出来。
以下是您需要做的:转到wamp/bin/apache/apache[YourVersion]/conf在记事本或其他文件中打开httpd.conf。
搜索这两条线:
LoadModule setenvif_module modules/mod_setenvif.so
(和)
LoadModule rewrite_module modules/mod_rewrite.so
如果这些行的开头有hashes(#),请删除它们(这将取消对这些行的注释),这些模块将被启用。
退出WAMP并重新启动。普雷斯托!