2011-01-25 109 views
0

這是我的,但它不工作。Mod_rewrite幫助

RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews$ location.php?purl=$1&page=reviews [L] 
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/$ location.php?purl=$1&page=reviews [L] 

任何人都可以告訴我我做錯了什麼?

http://www.example.com/this-location-1234/reviews/http://www.example.com/location.php?purl=this-location-1234&page=review

+0

什麼不起作用?你是如何期望它有效的?試圖重寫上面的URL的 – Gumbo

+0

。我收到「未找到」錯誤。更新後。 – ATLChris

+0

您在示例網址中忘了'/ location/...'。 – Gumbo

回答

1

我固定它。我意外地錯過了鏈接中的一些錯誤,我得到了一個錯誤。

RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]

這個偉大的工程!

0

我假設你已經在你的conf文件中的另一個屬性調用RewriteEngine敘述?另外,您可以使用RewriteLogLevel打開日誌記錄。

+0

是的,我已經重寫了。讓我打開Logging,看看我能否弄清楚。 – ATLChris

1

你應該結合這兩個(幾乎相同)的規則,並確保你有RewriteEngine on,並且你的規則正在運行(你的.htaccess正在被選中,或者你在活動的虛擬主機定義中有這個)。

RewriteEngine on 
RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L] 
1

我想這應該爲你提供的網址示例工作:

RewriteRule ^([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L] 

(更換這一個兩個重寫規則)

如果您還沒有一個,加這個RewriteRule之前的RewriteEngine on

如果你真的想重寫/location/this-location-1234/reviews/,而不是/this-location-1234/reviews/,然後使用此:

RewriteRule ^location/([a-zA-Z0-9_-]+)/reviews/?$ location.php?purl=$1&page=reviews [L]