2017-03-05 72 views
0

我需要一些URL重寫規則。我谷歌了一些和應用,但沒有改變的網址。如何編寫htaccess seo友好的網址

我想:

http://example.com/tender/details/NIdyzuC41kgt91vRSHHOOFdaPtuMuGL8ePwE0Zx1aEj9vFQecoSRTVRyebazIMxNrUhrJFhK0rJuXpzZ

更改爲:

http://demo.example.com/name-of-topic 

這是.htaccess文件

php_flag display_errors on 
php_value error_reporting 9999 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 
+0

您是否已經更改了應用程序中的URL(到'demo.example.com/topic-name-of-topic')?而'/ tender/details/NIdyzuC41kg ...'URL是「真實」的URL?輕微的複雜性是子域。這是否指向文件系統上的相同區域? – MrWhite

+0

我不明白我該如何檢查它? – Chakerfrh

回答

0

既然你已經使用了前端控制器,它看起來像你應該改變你的應用程序/ CMS中的這個URL,而不是在.htaccess

爲了簡單起見,我將假定主域example.com和子域demo.example.com指向文件系統上的相同位置。 (如果他們指向完全不同的文件系統,則需要代理請求,因爲您不能簡單地在主機間進行重寫。)

假設您已將應用程序中鏈接到的URL更改爲http://demo.example.com/name-of-topic,那麼你可以在指令後立即添加如下內容:

RewriteCond %{HTTP_HOST} ^demo\.example\.com\.?$ [NC] 
RewriteRule ^name-of-topic$ /tender/details/NIdyzuC41kgt91vRSHHOOFdaPtuMuGL8ePwE0Zx1aEj9vFQecoSRTVRyebazIMxNrUhrJFhK0rJuXpzZ [L] 

內部重寫http://demo.example.com/name-of-topic/tender/details/NIdyzuC41...( 「真實」 的URL)。