0

我有一个根域,我删除了.php扩展,它现在干扰了我的子域 Wordpress 平台。我无法发布任何内容,因为根域.htaccess正在重定向 .php到无扩展名,所以我不断收到HTTP 404 Error. 如何将隐藏扩展仅应用于而不是子域?这是我在根目录中的内容:

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]

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

4

4 回答 4

0

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

于 2013-07-02T22:07:14.130 回答
0

您应该能够编写一个RewriteCond检查%{HTTP_HOST}子域的代码。如果RewriteCond %{HTTP_HOST} ^www\. [NC]域以www.. 您可以在 RewriteCond 下的 mod_rewrite 页面上看到重写变量列表。

于 2013-07-02T22:10:19.537 回答
0

扩展 AMADANON Inc. 所说的内容。. . 在控制子域的目录中放置一个 .htaccess。.htaccess 是特定于目录的,因此只要您使用 RewriteBase /directoryname 目录名是目录的名称,目录一将覆盖根目录。

于 2013-07-02T22:11:41.340 回答
0

您也可以使用 MultiView 进行尝试您所要做的就是将其添加到您的 .htaccess 文件中

# Enable Multiviews
Options +MultiViews

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

于 2013-07-02T22:13:20.880 回答