3

如何将所有请求发送到 www.myurl.com/{ANYTHING} 并将它们全部发送到 www.myurl.com/index.php

我发现我可以通过以下方式发送所有内容:

RewriteRule .* index.php [R=Permanent,L]

这很好用,除了我被重定向到 www.myurl.com/home/username/public_html 因为我的 cpanel/apache 安装。所以我改为将代码更改为

RewriteBase /
RewriteRule .* index.php [R=Permanent,L]

但这会再次导致无限循环。

4

3 回答 3

2

尝试:

RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* /index.php [R=Permanent,L]
于 2012-10-04T21:12:09.027 回答
0

对于 Apache,使用 mod_rewrite:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
于 2018-02-17T20:26:56.513 回答
-1

这有效地将我发送到 index.php 而不会导致循环。

RewriteCond %{REQUEST_URI} ^/index\.php$
RewriteRule ^(.*)$ - [L]

RewriteRule ^(.*)$ /index.php?url=%{REQUEST_URI} [R=302,L,QSA]
于 2012-10-13T07:16:23.467 回答