![](/img/trans.png)
[英].htaccess rewrite subdomain to directory and keep subdomain in url
[英]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.