4

我有这个规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profil.php?upime=$1

它正在工作。现在我想知道如何重写另一个页面的 URL:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profil.php?upime=$1
RewriteRule ^(.*)$ novica.php?nid=$2 - I did this, but is not working.

我该怎么做才能将两个规则都放在一个.htaccess文件中?

4

1 回答 1

5

你不能像在你的例子中那样做,因为你正在重写所有东西:^(.*)$.

如果您需要两个不同的规则,则需要选择要写入哪个最终目的地的 url。

一个示例,您将以不同的字符串开头的不同 url 重写到不同的目的地:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^starts_with_this(.*)$ profil.php?upime=$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^starts_with_something_else(.*)$ novica.php?nid=$1
于 2012-10-12T14:01:38.057 回答