Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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设置自定义URL_Php_Html_Url - Fatal编程技术网

使用PHP设置自定义URL

使用PHP设置自定义URL,php,html,url,Php,Html,Url,所以,我需要设置自定义URL,以便 转到: 我知道这是一个非常简单的操作,但在谷歌搜索之后,我找不到答案。处理这种事情最简单的方法是什么?您必须使用url重写。 这取决于您使用的web服务器。 例如,如果您的Web服务器是Apache,则可以使用.htaccess。 它的正则表达式如下所示: RewriteEngine on RewriteRule ([^/]+)/?$ $1.php [L] 如果不包括正斜杠,运行左侧的正则表达式将返回“dynamic/”或“dynamic”。然后,它将用

所以,我需要设置自定义URL,以便

转到:


我知道这是一个非常简单的操作,但在谷歌搜索之后,我找不到答案。处理这种事情最简单的方法是什么?

您必须使用url重写。 这取决于您使用的web服务器。 例如,如果您的Web服务器是Apache,则可以使用.htaccess。

它的正则表达式如下所示:

RewriteEngine on
RewriteRule ([^/]+)/?$ $1.php [L]
如果不包括正斜杠,运行左侧的正则表达式将返回“dynamic/”或“dynamic”。然后,它将用dynamic.php替换第一个括号中的块(“dynamic/”)中捕获的内容

您可以在此处尝试重新编写URL:

您的通用正则表达式如下:


有几种方法可以实现这一点:-

  • URL重写(附加到服务器上/dynamic/directory中的.htaccess文件)
  • 在根文件夹ie./dynamic中创建伪index.htm/.html/.php文件/
    如果是HTML,请使用以下javascript:-
  • 标题(“位置:”)


    希望这能有所帮助。

    您需要在.htaccess中编写规则。另请参见regex^$不会返回任何内容,因为您的意思是:查找起始字符,后跟结束字符。这不会给你任何东西,因为它实际上是一个空白字符串。此外,您不想将其替换为dynamic.php,因为这是一次重写,除非站点上的所有页面都转到dynamic.php,否则就没有意义了。不过php标题的好信息。此外,还有一些元标记需要重定向,但这不会被重写。尽管将其放入/dynamic将适用于这种特殊情况,但我认为全局.htaccess将远远优于每个文件夹中的一个。通过这种方式,您可以确保进一步的目录也可以正常工作。也许更好的正则表达式是([^/]+)/*?$,因为它将在最后解释多个正向斜杠,但我不知道服务器是否会将它们保留在那里:P
    RewriteEngine on
    RewriteRule ^$ dynamic.php
    
    <script type="text/javascript">
         window.location = "http://example.com/dynamic.php"
    </script>
    
    <script type="text/javascript">
         location.href='http://example.com/dynamic.php';
    </script>
    
    <script type="text/javascript">
         location.replace('http://example.com/dynamic.php');
    </script>
    
    However, if using PHP instead (recommended), include the following:-
    
    Remember to use ob_start(), ob_end_flush() to fix the output buffer, if you get the error that the headers are already sent and you can't modify the header information.