0

我有一个动态网站,并从 .htaccess 文件创建干净的 URL:

RewriteCond %{REQUEST_URI}  !(\.png|\.jpg|\.gif|\.jpeg|\.bmp)$
RewriteRule ^([a-zA-Z0-9_\-\+\ ]+)$ flight.php?flights=$1&slug=$1

这段代码对我来说很好,但是当我创建一种新类型的页面并尝试使用相同的代码获取干净的 URL 时,即:

RewriteCond %{REQUEST_URI}  !(\.png|\.jpg|\.gif|\.jpeg|\.bmp)$
RewriteRule ^([a-zA-Z0-9_\-\+\ ]+)$ manual-page.php?url=$1&slug=$1

这不起作用,如果我评论前两行,那么它工作正常。

一次只有一个代码在工作。

首先,我有一个 URL domain.com/flight.php?flight-san-fransisco-london-flights,我希望它从我拥有的第二个域重定向到 domain.com/san-fransisco-london-flights 和。 com/manual-page.php?url=my-new-page 我希望它被重定向到domain.com/my-new-page。

这些有什么方法可以让两者一起工作吗?

4

2 回答 2

1

您需要测试某些条件 - 或者 Apache 检测您想要规则 2 与规则 1 的方法。也许是一些前缀关键字?

RewriteCond %{REQUEST_URI} !(.png|.jpg|.gif|.jpeg|.bmp)$
RewriteRule ^flights-([a-zA-Z0-9_-+\ ]+)$ flight.php?flights=$1&slug=$1
RewriteRule ^manual-([a-zA-Z0-9_-+\ ]+)$ manual-page.php?url=$1&slug=$1
于 2013-07-01T19:10:59.933 回答
0

您必须更具体地了解您的规则。尝试这样的事情:

RewriteCond %{REQUEST_URI}  !(\.png|\.jpg|\.gif|\.jpeg|\.bmp)$
RewriteRule ^.*\.php?([a-zA-Z0-9_\-\+\ ]+)$ $1
于 2013-07-01T19:12:05.470 回答