有人可以告訴我如何重寫這個URL。我看了很多關於計算器的問題,但他們似乎錯過了我的答案。如何重寫url?
RewriteEngine On
這就是我...它有點可憐。
我需要重寫URL的,如果他們不指向一個目錄。
我需要這樣做......
any.domain.com/pages/some-page-slug/login
重寫才能正確網址...
any.domain.com/pages/login.php?page=32
有誰^ h就如何實現這一點提出任何想法?
有人可以告訴我如何重寫這個URL。我看了很多關於計算器的問題,但他們似乎錯過了我的答案。如何重寫url?
RewriteEngine On
這就是我...它有點可憐。
我需要重寫URL的,如果他們不指向一個目錄。
我需要這樣做......
any.domain.com/pages/some-page-slug/login
重寫才能正確網址...
any.domain.com/pages/login.php?page=32
有誰^ h就如何實現這一點提出任何想法?
1)重寫product.php?ID = 12到產品12.html
它是一個簡單的重定向,其中PHP擴展被從瀏覽器的地址欄和動態URL(包含隱藏的「?」字符)被轉換爲靜態URL。
RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1
2)重寫product.php?ID = 12產品/ iPod的納米/ 12.html
SEO專家總是建議,以顯示在URL中的主要關鍵字。在以下URL重寫技術中,您可以在URL中顯示產品的名稱。
RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2
3)非重定向URL WWW到www網址
如果你在瀏覽器中鍵入yahoo.com它會被重定向到www.yahoo.com。如果你想做與你的網站相同的然後把下面的代碼.htaccess文件。這種重定向有什麼好處?請檢查關於SEO友好重定向(301)在PHP和.htaccess重定向的文章。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
RewriteRule (.*) http://www.optimaxwebsolutions.com/$1 [R=301,L]
4)重寫yoursite.com/user.php?username=xyz到yoursite.com/xyz
你檢查zorpia.com.If你在瀏覽器中鍵入http://zorpia.com/roshanbh233你可以在看我的個人資料那裏。如果您想要執行相同類型的重定向,例如http://yoursite.com/xyz到http://yoursite.com/user.php?username=xyz,則可以將以下代碼添加到.htaccess文件。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
5)將域重定向到public_html中的新子文件夾。
假設您已經重新開發了您的網站,並且所有新開發駐留在根文件夾內的「新」文件夾中。然後可以像訪問「test.com/new」那樣訪問網站的新開發。現在將這些文件移動到根文件夾可能是一個繁忙的過程,因此您可以在.htaccess文件內創建以下代碼並將其放在網站的根文件夾下。結果,www.test.com指出「新」文件夾中的文件。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1
這是從網上覆制的。請引用來源 – Gordon 2011-03-03 13:08:58
要做到這一點,你需要寫一個前端控制器。
或者在Apache中,你可以重寫這個
any.domain.com/pages/32/login
或本:
any.domain.com/32/login
甚至是這樣:
any.domain.com/some-slug/32/login
這樣:
any.domain.com/pages/login.php?page=32
以某種方式用apache來做到這一點,你需要以某種方式提供頁面id。請記住,即使使用any.domain.com/some-slug/32/login
格式,slug的內容也是不相關的,並且不一定鏈接到正確的頁面。我認爲這是不可取的,對SEO不利。
另一個替代方案是使用RewriteMap。但是這將會非常棘手,並且只要創建/編輯頁/ slug就需要Apache配置。
我的理解是pages
和login
在這種情況下是靜態的,some-page-slug
正在發生變化。而你總是想重定向到靜態頁面/pages/login.php?page=32
因此,這是如何做到這一點:
1)改寫
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32
或2)重定向Pernament
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32 [R=301,L]
或3 )重定向臨時
RewriteEngine On
RewriteRule ^pages/([a-zA-Z0-9_]+)/login(.*)$ /pages/login.php?page=32 [R=302,L]
以下是有關htaccess的trics http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/
什麼是「一些頁段塞」和「頁= 32」之間的關係大文章? – 2011-03-02 08:45:30
是'32'是靜態變量嗎? – 2011-03-02 08:45:36