1

快速提问,我已经看到它问了数百次,但我似乎无法让它发挥作用(我感到羞耻)。

我正在尝试将 index.php 以外的任何内容重定向到 view.php?id=$1 ,其中 $1 是 index.php 以外的任何内容 - 但我似乎无法让它工作。

例如:

http://domain.com/应该使用 index.php
http://domain.com/index.php应该这样
但是..
http://domain.com/sdgoi3应该使用http://domain.com/view .php?id=sdgoi3

我已经尝试了一些事情并解决了上述问题,但无济于事。

有人有解决方案吗?赞赏。

4

2 回答 2

1

尝试将其放入文档根目录的 htaccess 文件中:

RewriteEngine On
RewriteRule ^$ /index.php [L]
RewriteRule ^index\.php - [L]
RewriteRule ^view\.php - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /view.php?id=$1 [L]

这里的逻辑是:

  1. 如果请求 URI 被/重写为index.php
  2. 如果请求 URI 以 开头index.php,则不要更改并通过
  3. 如果请求 URI 以 开头view.php,则不要更改并通过
  4. 如果请求是针对不存在的文件或目录,view.php则使用 id 参数传递给
于 2012-07-29T18:50:11.357 回答
0

也许是这样的:

RewriteCond %{REQUEST_URI} !^index\.php
RewriteCond %{REQUEST_URI} !^view\.php
RewriteRule ^(.*)$ view.php?id=$1 [L]

?

于 2012-07-29T18:49:24.137 回答