Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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_.htaccess_Url Rewriting - Fatal编程技术网

Php 使用.htaccess、查询字符串作为文件名重写URL

Php 使用.htaccess、查询字符串作为文件名重写URL,php,.htaccess,url-rewriting,Php,.htaccess,Url Rewriting,如果我的URL是 那么它应该打开了 我应该在.htaccess中写什么 提前谢谢 如果我的URL是,那么它应该打开 您不需要.htaccess,只需输入index.php即可 $view = $_GET['view']; if (strpos($view, '/') === false && $view != "index" && file_exists("$view.php")) require "$view.php"; 确保根目录中没有任何其他易受攻击

如果我的URL是 那么它应该打开了

我应该在.htaccess中写什么

提前谢谢

如果我的URL是,那么它应该打开

您不需要.htaccess,只需输入index.php即可

$view = $_GET['view'];
if (strpos($view, '/') === false && $view != "index" && file_exists("$view.php"))
  require "$view.php";
确保根目录中没有任何其他易受攻击的php文件(但我建议使用其他/更好的技术来检查url中的用户输入)


如果您希望以另一种方式进行重写,则您的
.htaccess
可能与此类似:

RewriteEngine on

RewriteCond %{REQUEST_URI}  !^/index.php
RewriteRule ^([a-z]+).php$  /index.php?view=$1  [L]

您希望最终用户在其浏览器中键入哪些内容
index.php?view=abc
(这与正常重写不同),还是
abc.php
?您询问的方式没有明确说明您的用户将看到哪些。实际上,我想知道,如果用户打开index.php?view=abc,那么将执行abc.php。如果用户直接输入abc.php,则他/她无法打开该页面。用户必须通过index.php?view=abc访问它。谢谢。捷克技术。它起作用了。但如果我需要相反的情况呢。如果有人键入URL,比如www.xyz.com/login.php,那么它应该重定向到www.xyz.com/index.php?视图=login@user985361,这不正是我回答的第二部分吗?