如果页面不存在,我该如何重写网址?

时间:2018-01-23 02:11:51

标签: php .htaccess

我在myWebsite.com有一个网页,在同一目录中有少量其他网页,例如myWebsite.com/aboutmyWebsite.com/contact

我试图创建一个用户配置文件系统,如果我转到myWebsite.com/user1它会重定向到索引但可以使用user1作为变量(从中提取用户帐户信息)数据库)。

如果URL的扩展名不是实际存在的页面,我该怎么办呢?

编辑:

...在/about/contact

之类的网页中没有硬编码

1 个答案:

答案 0 :(得分:1)

如果您的系统使用/about/contact的物理文件或目录,那么您可以使用此通用指令将那些 重写为index.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

这只是检查所请求的页面

  • index.php
  • 不是现有文件
  • 不是现有目录

然后重写为index.php。之后,您将可以通过/user1文件中的$_SERVER['SCRIPT_URL']访问index.php

那表示我同意通过index.php发送所有内容的评论是最好的,上面的代码片段也可以让你朝这个方向发展。