如何在php5中重写URL?
嗨,我想重写我的网站URL。现在我使用PHP5进行开发。我尝试了以下.htaccess如何在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
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”结尾的字符串)。感谢您的宝贵意见