繁体   English   中英

防止根目录htaccess重定向子域

[英]Keep root directory htaccess from redirecting subdomain

我有一个根域 ,删除了.php扩展名,该扩展名现在干扰了我的子域Wordpress平台 我无法发布任何内容,因为根域.htaccess 会将 .php 重定向为无扩展名,因此我一直收到HTTP 404 Error 如何将hide扩展名仅应用于而不是子域 这是我的根源

RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]

## hide .php extension snippet

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

感谢您的任何帮助,您可以提供!

通常,当我在同一台计算机上设置多个网站时,会将它们指向不同的目录。 这样可以使.htaccess(及其他所有内容)分离。

您应该能够编写一个RewriteCond来检查%{HTTP_HOST}的子域。 类似于RewriteCond %{HTTP_HOST} ^www\\. [NC] RewriteCond %{HTTP_HOST} ^www\\. [NC]仅应在域以www.开头的情况下应用规则www. 您可以在mod_rewrite页面的RewriteCond下看到重写变量的列表。

扩展AMADANON Inc.所说的内容。 将.htaccess放在控制子域的目录中。 .htaccess是特定于目录的,因此只要使用RewriteBase / directoryname,目录1就会取代根目录1,其中directoryname是目录的名称。

您也可以尝试使用MultiView,只需将其添加到.htaccess文件中

# Enable Multiviews
Options +MultiViews

现在,您可以像使用siteurl.com/file一样使用siteurl.com/file.php访问所有文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM