我的主文件夹中安装了WordPress,因此我的网站就像
一样www.example.com
除此之外,我还有一个子文件夹,其中包含一个单独的静态站点,您可以使用
进行访问www.example.com/special
所以在特殊页面中我有一个名为
的页面www.example.com/special/my-special-page
它实际上是一个.php
文件,但我已使用此
.htaccess
文件中的扩展程序
RewriteEngine On # Turn on the rewriting engine
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
这很有效。
但我的客户说:我想,当我进入
www.example.com/myawardspage
转到
www.example.com/special/my-special-page
但要包含上述网址(不含/special/my-special-page
)。所以在主.htaccess
文件(控制WordPress的文件)中我添加了
RewriteRule ^myawardspage?$ http://www.example.com/special/my-special-page [NC,L]
所以现在你去
www.example.com/myawardspage
我被重定向到
www.example.com/special/my-special-page
这很棒,但我需要网址看起来像
www.example.com/myawardspage
因此,在特殊页面的.htaccess
文件中,我添加了
RewriteRule ^myawardspage/?$ /special/my-special-page [NC]
但网址保持不变(http://www.example.com/special/my-special-page
)。
我在这里做错了什么?
答案 0 :(得分:1)
在RewriteEngine on
下方,将以下行放在/.htaccess
(文档根目录)文件中:
# Check if the file being requested exists
# in the 'special' directory
RewriteCond %{DOCUMENT_ROOT}/special/$1.php -f
# If so, then rewrite accordingly:
RewriteRule ^([^.]+) special/$1.php [L]
使用此方法意味着您不需要special/.htaccess
文件中的该规则 - 您可以安全地将其删除。
答案 1 :(得分:0)
好的,所以你的意思是什么时候想要点击www.example.com/myawardspage
然后你想要从www.example.com/special/my-special-page
获取数据,而在你的地址栏中你的地址仍然是www.example.com/myawardspage
为了达到这个目的,应用这条规则在 WordPress安装 .htaccess
文件中。
RewriteRule ^myawardspage/?$ www.example.com/special/my-special-page [NC,L] # Handle requests for "www.example.com/special/my-special-page"
它会为您提供所需的数据,您的问题将得到解决。如果这对您有用,请告诉我。