页面不是由htaccess重定向

时间:2013-07-01 19:08:01

标签: php .htaccess

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

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

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

一次只能运行一个代码。

首先,我有一个网址domain.com/flight.php?flight-san-fransisco-london-flights,我希望将其重定向到domain.com/san-fransisco-london-flights&从第二个我有domain.com/manual-page.php?url=my-new-page,我希望这是重定向todomain.com/my-new-page。

这两种方式是否可以一起工作?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您必须更加具体地遵守规则。尝试这样的事情:

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