我有一个WordPress网站,默认设置为指向www。一切都很完美,但我有一些自定义编码的部分,去当地服务,住宿等的“个人资料”页面。但是当您通过www.example.com访问链接时,在开发服务器上工作正常/ services / example-here / it重定向到example.com/wp-content/themes/theme-here/custom/services.php?slug=example-here
我的网站管理员告诉我,导致问题的是WordPRess,但是所有内容都说www.example.com/(siteurl等)
以下是htaccess文件中的代码:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^.*services/(.*)/$ /wp-content/themes/theme-here/custom/services.php?slug=$1 [QSA,L]
RewriteRule ^.*accommodation/(.*)/$ /wp-content/themes/theme-here/custom/accommodation.php?slug=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我已经检查了所有设置的任何想法,这可能是apache conf中的主机问题与mod重写吗?我还可以补充说,代码在没有添加www的情况下完美运行,但我的客户端需要www。
答案 0 :(得分:0)
在www
行下面的.htaccess上添加RewriteBase /
强制规则:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
请确保在permalink
WP的www
设置中,您的博客地址为{{1}}