在我的htaccess文件中,我有以下兩條規則。如果第一個不匹配,我想讓第二個發生。目前,他們都跑了。有沒有什麼方法可以解決碰撞問題?HTACCESS重定向
redirect 301 /lorem/ipsum-keyword.html /lorem/dolorem-keyword.html
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
在此先感謝。
在我的htaccess文件中,我有以下兩條規則。如果第一個不匹配,我想讓第二個發生。目前,他們都跑了。有沒有什麼方法可以解決碰撞問題?HTACCESS重定向
redirect 301 /lorem/ipsum-keyword.html /lorem/dolorem-keyword.html
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
在此先感謝。
兩個使用mod_rewrite和使用-L選項,以確保不會再發生重寫。就像這樣:
RewriteRule ^lorem/ipsum-keyword.html$ http://yourdomain.com/lorem/dolorem-keyword.html [R=301,L]
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
您可能對301使用重寫規則並添加L標誌,因此它將忽略以下規則。
我無法測試它,但這應該工作:
RewriteRule /lorem/ipsum-keyword.html$ /lorem/dolorem-keyword.html [R=301,L]
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
Hrm,它不適用於我:( – Matrym 2010-08-26 21:03:10
你需要調整第一條規則來匹配你的確切文件,我會更新。 – mwittrock 2010-08-26 21:16:48
^也很重要,謝謝! – Matrym 2010-08-26 21:26:06