子文件夹

时间:2018-02-07 02:57:09

标签: php apache .htaccess mod-rewrite url-rewriting

我目前正在主机之间迁移一个网站,而且我的htaccess文件没有得到相同的行为。文件代码是:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.html$ $1.php
RewriteRule ^([^\.]+)$ $1.php [NC,L]

首先重写是https,第二次重写是php,如果是html。据我所知,这两种方法都很好。

第三条规则应该重写没有路径类型的网址(html,php)给它们php路径类型。这是我遇到问题的地方。

这适用于我的主文件夹,例如staging.xyz.com/services返回地址栏和staging.xyz.com/services.php页面中的staging.xyz.com/services。

当我有一个名为news的子文件夹,它有一个index.php时,它在新网站上不起作用。

在输入staging.xyz.com/news的旧主机上,将在地址栏中返回staging.xyz.com/news/,并在staging.xyz.com/news/index.php上显示该页面。

在新主机上它仍会在地址栏中返回staging.xyz.co.nz/news/,但重写会返回staging.xyz.co.nz/news/.php,这会出错。

我很久以前就为旧网站写了这个,并且htaccess这不是我的强项,所以我有点不知道为什么它对旧主机起作用而不是新主机。< / p>

这是重写规则的问题吗?

0 个答案:

没有答案