0

在每个 html 或 php url 上显示 index.php,而不更改 url

前任。用户输入任何东西-everything.html(.php) 将显示 index.php 而不更改 url,

条件 - 主机上不存在任何东西。

像 404 重定向而不更改 url

4

2 回答 2

1

欢迎来到 SO。如果您在 Apache 网络服务器上运行您的网站,您可以使用Apache 模块 mod_rewrite来实现此目的。这是一个.htaccess文件示例,您必须将其放在网站的根目录中。

# switch on mod_rewrite
RewriteEngine On

# redirect all non-www request to www
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# rewrite all physical files and folders
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d

# add all exceptions that should not be redirected
RewriteCond %{REQUEST_URI} "/layout/" [OR]
RewriteCond %{REQUEST_URI} "/javascript/" [OR]
RewriteCond %{REQUEST_URI} "/content"

# and finally pass everything to the index.php as a parameter
RewriteRule .* - [L]
RewriteRule (.*) index.php?value=$1 [QSA]

这将执行以下操作:

  • 如果用户请求http://domain.com他将被转发到http://www.domain.com
  • 请求domain.com/hello/world.html最终会出现在 index.php 文件中,其中包含一个现有的文件,$_GET['value']然后hello/world.html可以进一步处理
于 2013-10-23T07:15:33.143 回答
0

使用 apache 重写(如果您使用 apache 并且可以访问服务器)。来自 Apache 的配方重写 index.php 的所有路径应该没问题。

于 2013-10-23T07:03:18.727 回答