0

这看起来很简单,但它不适合我。我试图让 show.php?id=$1 和 producer.php?id=$1 都重写为友好的 URL。第一个完美运行,第二个没有。如果我删除第一个,第二个工作正常。

我在这里做错了什么?

我的代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

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

</IfModule>

提前致谢!

4

1 回答 1

0

你的问题很简单。

同一目录不能有多个重写规则,每个 IE 都需要有一个单独的文件夹。有一个名为“show”的文件夹,并有一个包含 show 重写数据的 htaccess 文件。

.htaccess 用于显示文件夹:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

</IfModule>

然后使用第二个重写规则创建另一个名为“producer”的文件夹。

生产者文件夹的 .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

</IfModule>
于 2013-07-23T21:54:55.623 回答