Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess文件在添加自定义url后不工作_Php_Apache_.htaccess - Fatal编程技术网

Php .htaccess文件在添加自定义url后不工作

Php .htaccess文件在添加自定义url后不工作,php,apache,.htaccess,Php,Apache,.htaccess,我正在尝试更新我的.htaccess文件,以便得到更好看的url(没有.php文件扩展名)。文件中已经有重定向,因为我有两个域名 以下是原始代码: RewriteEngine on RewriteCond %{HTTP_HOST} ^darrenmorton\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.darrenmorton\.com$ RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301

我正在尝试更新我的.htaccess文件,以便得到更好看的url(没有.php文件扩展名)。文件中已经有重定向,因为我有两个域名

以下是原始代码:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^darrenmorton\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.darrenmorton\.com$
RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]
这是我更新的代码,但它不起作用

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^darrenmorton\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.darrenmorton\.com$
RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
Not 
RewriteCond %{REQUEST_FILENAME} \.php -f
RewriteRule ^(.*)$ $1.php [L]

RewriteRule ^contact-darren-morton.php$ contact-darren-morton.php [L]

不确定是什么问题,因为我是.htaccess文件的新手

您正在使用该语句重定向所有内容:

RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]
之后的任何事情都不会起作用,因为它是最后一个要检查的规则,如果它匹配(并且总是匹配)。由您使用
[L]
定义


所以至少你需要改变规则的顺序。如果您希望这些规则只在您的.co.uk域上起作用,您还有其他选择。

您正在使用该语句重定向所有内容:

RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]
之后的任何事情都不会起作用,因为它是最后一个要检查的规则,如果它匹配(并且总是匹配)。由您使用
[L]
定义


所以至少你需要改变规则的顺序。如果您希望这些规则只在您的.co.uk域上起作用,您还有其他选择。

您正在使用该语句重定向所有内容:

RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]
之后的任何事情都不会起作用,因为它是最后一个要检查的规则,如果它匹配(并且总是匹配)。由您使用
[L]
定义


所以至少你需要改变规则的顺序。如果您希望这些规则只在您的.co.uk域上起作用,您还有其他选择。

您正在使用该语句重定向所有内容:

RewriteRule ^/?$ "http\:\/\/darrenmorton\.co\.uk\/" [R=301,L]
之后的任何事情都不会起作用,因为它是最后一个要检查的规则,如果它匹配(并且总是匹配)。由您使用
[L]
定义

所以至少你需要改变规则的顺序。如果您希望规则仅适用于您的.co.uk域,您还可以使用其他选项。

您可以使用:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?darrenmorton\.com$ [NC]
RewriteRule ^ http://darrenmorton.co.uk}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]
您可以使用:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?darrenmorton\.com$ [NC]
RewriteRule ^ http://darrenmorton.co.uk}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]
您可以使用:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?darrenmorton\.com$ [NC]
RewriteRule ^ http://darrenmorton.co.uk}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]
您可以使用:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?darrenmorton\.com$ [NC]
RewriteRule ^ http://darrenmorton.co.uk}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]


你能举一个你正在做的请求和预期结果的例子吗?@Erik Mitchell我正试图去掉url字符串末尾的文件扩展名。因此,如果不使用www.website.com/page.php,我将获得www.website.com/pageYou能否举例说明您正在发出的请求和预期结果?@Erik Mitchell我正在尝试删除url字符串末尾的文件扩展名。因此,如果不使用www.website.com/page.php,我将获得www.website.com/pageYou能否举例说明您正在发出的请求和预期结果?@Erik Mitchell我正在尝试删除url字符串末尾的文件扩展名。因此,如果不使用www.website.com/page.php,我将获得www.website.com/pageYou能否举例说明您正在发出的请求和预期结果?@Erik Mitchell我正在尝试删除url字符串末尾的文件扩展名。因此,与www.website.com/page.php不同,我将获得www.website.com/pageI,我只希望它在.co.uk上工作,因为.com只是为了重定向到.co.uk,因为如果我将原始文件(如开始文章中的示例)移到.htaccess文件的底部,那么.com上就没有网站了。它是否工作?我完全不熟悉.htaccess文件。无论如何,我会尝试一下,但只是不想破坏任何东西。如果其他域的文件在另一个文件夹中,你可以在那里添加一个.htaccess和你的规则。我应该能够从.com域名重定向回.co.uk。然后,我可以从.htaccess文件中删除重定向,只需输入url字符串代码。如果这样做有效,我会发回帖子,以帮助其他可能有同样问题的人……这就是我会做的;-)我只是想让它在.co.uk上工作,因为.com只是为了重定向到.co.uk,因为如果我将原始文件(如起始文章中的示例)移动到.htaccess文件的底部,那么.com上就没有站点了。它是否工作?我完全不熟悉.htaccess文件。无论如何,我会尝试一下,但只是不想破坏任何东西。如果其他域的文件在另一个文件夹中,你可以在那里添加一个.htaccess和你的规则。我应该能够从.com域名重定向回.co.uk。然后,我可以从.htaccess文件中删除重定向,只需输入url字符串代码。如果这样做有效,我会发回帖子,以帮助其他可能有同样问题的人……这就是我会做的;-)我只是想让它在.co.uk上工作,因为.com只是为了重定向到.co.uk,因为如果我将原始文件(如起始文章中的示例)移动到.htaccess文件的底部,那么.com上就没有站点了。它是否工作?我完全不熟悉.htaccess文件。无论如何,我会尝试一下,但只是不想破坏任何东西。如果其他域的文件在另一个文件夹中,你可以在那里添加一个.htaccess和你的规则。我应该能够从.com域名重定向回.co.uk。然后,我可以从.htaccess文件中删除重定向,只需输入url字符串代码。如果这样做有效,我会发回帖子,以帮助其他可能有同样问题的人……这就是我会做的;-)我只是想让它在.co.uk上工作,因为.com只是为了重定向到.co.uk,因为如果我将原始文件(如起始文章中的示例)移动到.htaccess文件的底部,那么.com上就没有站点了。它是否工作?我完全不熟悉.htaccess文件。无论如何,我会尝试一下,但只是不想破坏任何东西。如果其他域的文件在另一个文件夹中,你可以在那里添加一个.htaccess和你的规则。我应该能够从.com域名重定向回.co.uk。然后,我可以从.htaccess文件中删除重定向,只需输入url字符串代码。如果这个工作,我会张贴回来,以帮助其他谁可能有同样的问题。。。