Apache htaccess、MySQL数据库和不存在的文件
我想在我的主页上显示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文件: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
把最后一行改成
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]