我有一个动态网站,并从.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。
这两种方式是否可以一起工作?
答案 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