为什么即使我激活.htaccess
,此示例域名www.example.com/about-us也无效AddHandler php-stable .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
当您同时浏览此链接www.example.com/index.php/about-us时,它会将您重定向到此www.example.com/about-us,但这不起作用,但是当您浏览此www.example时.com / Index.php / about-us这是url工作的时间。请帮忙。它主持在godaddy
答案 0 :(得分:0)
好像您的托管有mod_rewrite
问题。您可以在服务器上创建一个.php页面,让我们调用它phpinfo.php
并在其中编写以下代码
<?php
phpinfo();
?>
在浏览器中打开此页面并查找mod_rewrite
设置。它需要开启才能永久工作。
现在,转到WP Admin Panel -> Settings -> Permalink
并选择/post_name/
Wordpress将自动写入.htaccess文件(前提是它可以访问它)。
如果您的服务器上未启用mod_rewrite,除了联系您的托管服务提供商之外,别无其他方法可以启用它。所有托管服务提供商都可以使用phpinfo进行交叉检查。
以下是WordPress的完全有效的.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
还要确保将apache.conf
配置为由.htaccess文件覆盖。 <{1}}之类的Apache设置确保AllowOverride none;
不受尊重。
答案 1 :(得分:0)
根据您解释的问题,我建议您
转到WP Admin Panel -> Settings -> Permalink
然后选择/post_name/
然后转到WP Admin Panel -> Appearance -> Menus
现在检查您是否拥有菜单中使用的所有页面,或者您是否使用过任何自定义链接?
另请检查.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
</IfModule>
# END WordPress