我对安装在根目录下的 Wordpress 和安装在名为“client”的子文件夹中的 Whmcs 的集成有问题。 并且都有自己的 .htaccess 文件:
WordPress(root):
# 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
SetEnv TZ Europe/Rome
Whmcs(/客户端):
RewriteEngine On
# Announcements
RewriteRule ^announcements/([0-9]+)/[a-z0-9_-]+\.html$ ./announcements.php?id=$1 [L,NC]
RewriteRule ^announcements$ ./announcements.php [L,NC]
# Downloads
RewriteRule ^downloads/([0-9]+)/([^/]*)$ ./downloads.php?action=displaycat&catid=$1 [L,NC]
RewriteRule ^downloads$ ./downloads.php [L,NC]
# Knowledgebase
RewriteRule ^knowledgebase/([0-9]+)/[a-z0-9_-]+\.html$ ./knowledgebase.php?action=displayarticle&id=$1 [L,NC]
RewriteRule ^knowledgebase/([0-9]+)/([^/]*)$ ./knowledgebase.php?action=displaycat&catid=$1 [L,NC]
RewriteRule ^knowledgebase$ ./knowledgebase.php [L,NC]
并且在 Whmcs 中有一个激活 url 友好的设置,但是当我激活它时它给我找不到文件它就像 inherite root 的 .htaccess,事实上当我 riname wordpress 的 htaccess(安装在 root 中)时url 友好在子文件夹中工作。
我尝试了很多在其他帖子中找到的代码来从根目录中排除子文件夹,但它不起作用,我认为这与这个人的问题相同 how to ignore the .htaccess file from a parent directory 但直到现在他也没有找到解决方案。
非常感谢您的帮助!
最佳答案
描述在 WordPress 正文中重写的所有 URL
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http:// www.example.com/$1 [R=301,L]
RewriteRule ^([^/\.]+)/$ http:// %{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^([^/\.]+)$ index.php?rewrite=$1 [L]
或
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\ HTTP
RewriteRule ^index\.php$ http:// www.example.com/ [R=301,L]
为 www 重写 URL 并删除 index.php 的两个示例
关于wordpress - 如何从子文件夹中忽略根目录中的 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16384087/