GVKun编程网logo

我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上

19

对于我的htaccessRewriteRule在localhost/mysite上工作,但不在mysite.com上的1&1共享主机上感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于.ht

对于我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于.htaccess RewriteRule 提供正确的链接,但也提供 404、.htaccess RewriteRule保留GET URL参数、.htaccess RewriteRule添加到URL的驱动器path、.htaccess 在 XAMPP localhost 上工作,但不在 Webhosting 上的宝贵知识。

本文目录一览:

我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上

我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上

解决了:

不幸的是,解决scheme并不令人满意。 今天早上,在试用@ Wige的build议时,我惊奇地发现,Expected的值事实上是作为GET查询发送到页面的。 显然,1&1(我知道谁最近几周已经在改变他们的环境),做了一些幕后工作,我的问题已经得到了神奇的解决,现在我所有的以前的工作代码都按照原先的预期工作。

新的信息 :生产服务器的Apache版本是我的本地主机上的1.3.342.2.21

我无法弄清楚为什么我的RewriteRule在生产中不能正常工作。

RewriteRule ^page/pretty-url/(.*)$ page.PHP?query=$1 [L]

将Apache转换为Nginx

使用.htaccess通过index.PHP重新路由所有的请求,除了一些特定的请求

WAMP,Laravel 5:路由不工作 – NotFoundHttpException

在.htaccess中需要一个特定的URL RewriteRule

.htaccess – 如何在某些页面上设置SSL(脚本需要修改)

在我的本地testing环境( localhost/mysite/page/pretty-url/{...} )中工作正常,但在mysite.com/page/pretty-url/{...}上无法正常工作。 它像预期的那样加载page.PHP ,但显然这个?query=$1片断被忽略( $_GET是空的)

我想这个问题与服务器configuration有关。 我在1&1共享主机帐户没有httpd.conf访问。

RewriteRule做了什么(或者应该做什么):

我想要urls喜欢

* example.com/page/pretty-url/{{info_for_dynamic_content}}

被改写

* /page.PHP?query={{info_for_dynamic_content}}

所以我可以访问info_for_dynamic_content

在PHP内作为$_GET['query']

完整的.htaccess文件供参考:

AddHandler x-mapp-PHP6 .PHP DirectoryIndex index.PHP ErrorDocument 404 /index.PHP Options +FollowSymLinks # per @Jacques Chester's suggestion Options -MultiViews RewriteEngine on RewriteBase / # the rule in question RewriteRule ^page/pretty-url/(.*)$ page.PHP?query=$1 [L] RewriteCond %{REQUEST_FILENAME}.PHP -f RewriteRule ^(.*)$ $1.PHP RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.PHP !-f RewriteRule (.*) /index.PHP [L]

我如何将我的.htaccess文件转换为Nginx?

在共享主机上的Symfony的htaccess

Angular html5模式不能在Apache中工作

用mod_rewriteredirect和重写

强制非www到htaccess中的www

最有可能的是,你的主机将变量存储在其他地方。 我会添加一个调用PHPinfo(); 到你的脚本,并通过在那里的环境变量,看看你是否可以找到应该得到的值。

似乎连接到1&1的托管环境。

看到这个问题 ,特别是这个答案 。

基本上看来,1&1启用“MultiViews”。 通过增加

Options -MultiViews

您停用您的网站的设置,并根据各种报告,这解决了这个问题。

.htaccess RewriteRule 提供正确的链接,但也提供 404

.htaccess RewriteRule 提供正确的链接,但也提供 404

根据您展示的样品,您可以尝试以下操作吗?公平的警告我已经在移动设备上写了这个,所以还没有测试它应该可以工作恕我直言也会在某个时候测试它。此外,由于您提到可能有多个域,所以我特意在此处添加了一个条件来检查它是否是 example.nl,以防您想重写对任何域的请求,那么我们也可以省略该条件。

RewriteEngine ON
RewriteCond %{HTTP_HOST} ^example\.nl$ [NC]
RewriteRule ^([a-zA-Z]+)/?$ %{HTTP_HOST}/_sites/$1 [L]

注意:如果您的目录/文件夹不一定以字母开头并且可以是任何内容,则将上面的正则表达式从 ^([a-zA-Z]+)/?$ 更改为 ^([.*])/?$

,

无需硬编码主机名,您可以在站点根目录 .htaccess 中尝试以下规则:

RewriteCond %{HTTP_HOST}::%{THE_REQUEST} ^(?:www\.)?([^:]+)::GET\s/+\1/_sites/(\S*)\s [NC]
RewriteRule ^ /%2 [R=301,NE,L]

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^[^/]+/?$ %1/_sites%{REQUEST_URI} [L]

.htaccess RewriteRule保留GET URL参数

.htaccess RewriteRule保留GET URL参数

htaccess url重写后,保持URL的参数正常工作时出现问题。

我的htaccess重写如下:

 RewriteEngine on
 RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2

意思是:

domain.com/index.php?lang=en&page=product 显示为 domain.com/en/product

出于某种原因,当我?model=AB123&color=something在URL的末尾添加a
$_GET['model']$_GET['color']即使显示的URL中存在这些参数,也无法使用php检索这些参数。

为什么不传递变量?

.htaccess RewriteRule添加到URL的驱动器path

.htaccess RewriteRule添加到URL的驱动器path

我使用安装在Win7机器上的C:上的Zend Server CE(v.5.1.0)。 我添加了一个项目到httpd.conf :

Alias /project "D:Homepagesproject" <Directory "D:Homepagesproject"> Options Indexes FollowSymLinks AllowOverride all Order allow,deny Allow from all </Directory>

项目目录中的.htaccess文件包含以下内容:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_URI} ^/w*.(css|js) [NC] RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.PHP [NC,L]

现在来解决这个问题。 如果我去

HTTP://localhost/project/index.PHP

重写浏览器的位置栏中显示的规则

重写URL的Glype(Nginx)

设置x-frame-options来允许和禁止某些URL来构build一个页面

需要htaccessredirect

从https转换到http时,RewriteRule违反

一切似乎工作正常。 我到达index.PHP文件并得到我的内容。 但是,如果我去任何其他页面,将触发RewriteRule,似乎是添加目录path。 FireFox输出以下Not Found消息:

在此服务器上找不到请求的URL /Homepages/project/index.PHP。

我试图在这里find类似的问题/答案,但失败了。 任何想法? PS。 我接受一个答案可能会延迟,因为我会出差一段时间。

将URL重写为index.PHP,但避免在URL中使用index.PHP

.htaccess – RewriteCond:坏标志分隔符

使用Apacheconfiguration为每个站点指定PHP包含目录

如何处理自定义url模式的重写?

easyPHP .htaccess规则

让你的最后一行是这样的:

RewriteRule ^.*$ /index.PHP [NC,L]

但是我认为这是无限循环,所以我会建议这个规则:

RewriteCond %{THE_REQUEST} !s/index.PHP [NC] RewriteCond %{REQUEST_URI} !^/index.PHP [NC] RewriteRule . /index.PHP [L]

如果它已经是/index.PHP,则防止进入index.PHP。

您需要设置RewriteBase指令; 否则,会自动mod_rewrite,并且默认情况下会将文件路径预加重到生成的重写规则。

来自: http : //httpd.apache.org/docs/2.0/mod/mod_rewrite.html

当一个新的URL发生替换时,这个模块必须重新将这个URL注入到服务器处理中。 为了能够做到这一点,它需要知道相应的URL前缀或URL基础是什么。 默认情况下,这个前缀是相应的文件路径本身。 但是,对于大多数网站来说,URL并不直接与物理文件名路径相关,所以这个假设通常是错误的! 因此,您可以使用RewriteBase指令来指定正确的URL前缀。 如果您的网络服务器的URL与物理文件路径没有直接关系,那么您将需要在每个要使用RewriteRule指令的.htaccess文件中使用RewriteBase。

总结

以上是小编为你收集整理的.htaccess RewriteRule添加到URL的驱动器path全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

.htaccess 在 XAMPP localhost 上工作,但不在 Webhosting 上

.htaccess 在 XAMPP localhost 上工作,但不在 Webhosting 上

您可以将 /api 文件夹中的 PHP 文件包含在根文件夹中的 PHP 文件中。

只需将行 include "./api/index.php" 添加到您的 PHP 根文件夹中。

然后这些函数在 /api 文件夹中的 PHP 文件中工作,而无需打开 /api 文件夹中的特定 PHP 文件。

https://www.php.net/manual/en/function.include.php

我们今天的关于我的htaccess RewriteRule在localhost / mysite上工作,但不在mysite.com上的1&1共享主机上的分享已经告一段落,感谢您的关注,如果您想了解更多关于.htaccess RewriteRule 提供正确的链接,但也提供 404、.htaccess RewriteRule保留GET URL参数、.htaccess RewriteRule添加到URL的驱动器path、.htaccess 在 XAMPP localhost 上工作,但不在 Webhosting 上的相关信息,请在本站查询。

本文标签: