Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
如何在php5中重写URL?_Php_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

如何在php5中重写URL?

如何在php5中重写URL?,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,嗨,我想重写我的网站URL。现在我使用PHP5进行开发。我尝试了以下.htaccess RewriteEngine on RewriteRule ^(.*)/(.*).html$ $1.php?code=$2 [L] RewriteRule ^(.*).html$ $1.php [L] 没有参数的URL正在工作,但是第一个显示了一些问题。它重定向到页面,但是页面样式缺少我为代码传递的任何值。 为什么会这样?使用PHP5重写URL有什么选择吗?如果重定向到“folder/file.ht

嗨,我想重写我的网站URL。现在我使用PHP5进行开发。我尝试了以下.htaccess

RewriteEngine on

RewriteRule   ^(.*)/(.*).html$ $1.php?code=$2 [L]
RewriteRule   ^(.*).html$ $1.php [L]
没有参数的URL正在工作,但是第一个显示了一些问题。它重定向到页面,但是页面样式缺少我为代码传递的任何值。
为什么会这样?使用PHP5重写URL有什么选择吗?

如果重定向到“folder/file.html”,所有相关链接都会被弄乱。它将在“folder/css/style.css”中查找“css/style.css”

您可以使用绝对链接,即“www.example.com/css/style.css”,也可以重写链接路径

RewriteRule   ^(.+)/css/(.+)$ css/$2 [L]

如果你重定向到“folder/file.html”,你所有的相关链接都会被弄乱。它将在“folder/css/style.css”中查找“css/style.css”

您可以使用绝对链接,即“www.example.com/css/style.css”,也可以重写链接路径

RewriteRule   ^(.+)/css/(.+)$ css/$2 [L]

如果您谈论css样式,我认为可能是因为您正在输入一个新的子目录,而style.css不在那里,而是在主目录中。这是关于相对路径的,尝试使用绝对路径(“www.web.com/style.css”)

如果您谈论css样式,我想可能是因为您正在输入一个新的子目录,而style.css不在那里,而是在主目录中。这是关于相对路径的,尝试使用绝对路径(“www.web.com/style.css”)

您的URL位于$\u服务器['REQUEST\u URI'] 您可以在php脚本中解析它并包含所需的文件。
在您的示例中,“请求URI”将是“/folder/file.html”。因此,您只能保留此重写规则^(.*).html$$1.php

您的URL位于$\u服务器['REQUEST\u URI'] 您可以在php脚本中解析它并包含所需的文件。
在您的示例中,“请求URI”将是“/folder/file.html”。因此,在包含css、js等之前,您只能将此重写规则^(.*).html$$1.php

保留在html头中,在包含css、js等之前,您设置在html头中。

在包含css、js等之前,您设置在html头中。

顺便说一句,mod_rewrite是一个Apache服务器模块,它与php无关“页面样式丢失”是什么意思(.*).html$“部分应该是”(.*)\.html$”或者模式也应该匹配“examplehtml”(而不是只匹配以“.html”结尾的字符串)。感谢您的宝贵评论顺便说一句,mod_rewrite是一个Apache服务器模块,它与PHP无关您说的“页面样式丢失了”是什么意思?(.*).html$“部分应该是”(.*))\.html$”或该模式也将匹配“examplehtml”(而不是仅匹配以“.html”结尾的字符串)。感谢您的宝贵意见