2

我阅读了一些关于获取干净网址的教程。我尝试了他们在教程中提供的一些代码,但我无法运行一个简单的示例......

我想更改:更改http://domain.com/brigandze/mannen/index.php?p=0 为:http://domain.com/brigandze/mannen/0/

我使用此代码并将其放在目录中domain.com/brigandze/mannen/

我的 htaccesfile 中有这段代码:

RewriteEngine on
RewriteRule    ^([0-9]+)/?$    index.php?p=$1    [NC,L]
4

1 回答 1

2

您需要正确设置 RewriteBase 或使用 RewriteRule 中的完整路径(请参阅此处了解 RewriteBase 文档)。

RewriteBase /brigandze/mannen/

RewriteEngine on

RewriteRule ^([0-9]+)/?$ index.php?p=$1 [NC,L]

或者

RewriteEngine on

RewriteRule ^brigandze/mannen/([0-9]+)/?$ brigandze/mannen/index.php?p=$1 [NC,L]

问题是 Web 服务器会查看从 DocumentRoot 开始的 URL,除非您另有说明。在您的情况下,这意味着您的规则正在尝试重写

http://domain.com/0/

通过添加RewriteBase,它将查看正确的位置。

于 2013-09-06T13:20:42.723 回答