你的兩個規則都是一樣的,第二個規則不起作用,因爲第一個規則已經重寫了URL。除此之外,規則本身不是邏輯。
你的榜樣將執行以下操作:
- domain.com/123將指向eventlist.php I = 123
,如果您移動第二個規則首先,會發生以下情況:
- domain.com/123將指向eventlist.php?c = 123
你怎麼知道至極一個把你帶到EVENTLIST?
一個工作,並且更邏輯的解決辦法是:
RewriteEngine on
RewriteRule ^i-([a-zA-Z0-9_-]+)$ eventlist.php?i=$1
RewriteRule ^c-([a-zA-Z0-9_-]+)$ eventlist.php?c=$1
這樣domain.com/i-123將指向eventlist.php I = 123?。這只是一個例子,你會使用類似domain.com/event-123/
編輯的更好:基於您的評論
,你想只保留一個網址並指向一個國家或行業。這是你在你的情況做笏:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ eventlist.php?ic=$1
在你的PHP文件,你應該檢查你的數據庫/數據如果$_GET['ic']
是一個國家或行業。根據您的檢查結果,您可以顯示所需的事件。
在這種情況下非常重要:不要忘記每個行業或國家必須是獨一無二的。
這兩個重寫規則都具有相同的正則表達式模式,第一條規則將捕獲所有內容。使用您想要分發給每個規則的示例網址更新您的問題。 –
http:// localhost/10times/eventlist?i = education-training此網址必須轉換爲http:// localhost/10times/education-training –
http:// localhost/10times/eventlist?c =印度必須將其轉換爲http:// localhost/10times/india –