Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Apache htaccess、MySQL数据库和不存在的文件_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache htaccess、MySQL数据库和不存在的文件

Apache htaccess、MySQL数据库和不存在的文件,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我想在我的主页上显示MySQL数据库中的内容,具体取决于用户来自的URL。我不希望mod_rewrite更改我的URL,而是希望执行以下操作: 保留URL ie mysite.com/demolink2 检查页面是否存在,如果不存在,则重定向到index.php,并在最后一个尾随斜杠后传递demolink2变量(实际上是URL字符串的结尾) 在index.php方面,我可以提供内容,但我不想让用户看到URL更改为mysite.com/index.php?id=demolink2,而是让mysit

我想在我的主页上显示MySQL数据库中的内容,具体取决于用户来自的URL。我不希望mod_rewrite更改我的URL,而是希望执行以下操作:

保留URL ie mysite.com/demolink2 检查页面是否存在,如果不存在,则重定向到index.php,并在最后一个尾随斜杠后传递demolink2变量(实际上是URL字符串的结尾) 在index.php方面,我可以提供内容,但我不想让用户看到URL更改为mysite.com/index.php?id=demolink2,而是让mysite.com/index.php页面保持为mysite.com/demolink2,直到他们在站点中单击指向真实页面的URL为止。 这是我当前的.htaccess,它完成了第一部分;i、 它将查看页面是否已经存在,如果不存在,则将用户指向索引,不过我已经重写了

如有任何帮助/意见,将不胜感激

htaccess文件:


把最后一行改成

RewriteRule (.*) /index.php?id=$1 [QSA,L]
浏览器中的URL将保持不变,因为它是重写内部重定向,而不是正确的3xx代码重定向

如果请求mysite.com/demolink2,脚本会将其显示为/index.php?id=demolink2; 如果是mysite.com/hello/kitten,那么脚本将看到index.php?id=hello/kitten; 添加QSA标志以保留现有查询字符串。
RewriteRule (.*) /index.php?id=$1 [QSA,L]