2016-11-18 77 views
0

我有我的網站,每當我添加一個新網頁時,它都會創建一個帶有隨機ID號的網址,我不想要。我想用page/product名稱作爲我的網址,所以我有什麼現在是:在網址中寫網頁標題而不是網頁ID

電流:http://www.abcdex.in/deal/d29e96cfd623a83f37f1bc12b4465131

期望:http://www.abcdex.in/deal/Product-Name

我走過了我的.htaccess文件,並將其顯示在底部下面的代碼:

RewriteEngine On 
Options -Indexes 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
RewriteCond $1 !^(index\.php|assets|forum|robots\.txt|canvas\.xml) 
RewriteRule ^(.*)$ index.php?/$1 [L] 

誰能幫我,因爲它創造了很多亂七八糟的,我失去,因爲這是我的網站排名?

預先感謝您!

+0

這就是所謂的'人類可讀URL'並且最好是在你的含量的不同管理體制層面解決這一問題 - 即管理你的網站系統。在那裏檢查選項'人類可讀網址' – SergeyLebedev

+0

當提交表單時會更改網址嗎?也就是當你點擊一個產品時? – GraveyardQueen

+0

@kapil sharma我已經貼上了一個exampler從中學習,如果有任何懷疑可以隨意問,請在那裏應用。 –

回答

0

從這個例子學習,在你的.htaccess應用 例

AddDefaultCharset utf-8 
Options +FollowSymlinks -Indexes 
RewriteEngine on 
RewriteBase /living/ 
# skip all files and directories from rewrite rules below 
#RewriteCond %{REQUEST_FILENAME} -d [OR] 
#RewriteCond %{REQUEST_FILENAME} -f 
#RewriteRule^- [L] 
#RewriteRule ^authors/([^/]*)\.html$ main.php?authchar=$1 [QSA,L] 

你的.htaccess會是這樣的文件名

AddDefaultCharset utf-8 
    Options +FollowSymlinks -Indexes 
    RewriteEngine on 
    RewriteBase/
# skip all files and directories from rewrite rules below 
#RewriteCond %{REQUEST_FILENAME} -d [OR] 
#RewriteCond %{REQUEST_FILENAME} -f 
#RewriteRule^- [L] 
#RewriteRule ^deal/([^/]*)\.html$ yourscript.php?d29e96cfd623a83f37f1bc12b4465131=$1 [QSA,L] 
0

你可以嘗試做這一切htaccess的,但我喜歡用PHP解決這些問題

在您的所有網頁上的網址類似於

http://www.abcdex.in/deal/d29e96cfd623a83f37f1bc12b4465131 

轉換的產品名稱到一個變量,如$產品名稱

然後重定向:

<?php 
header("Location: http://www.abcdex.in/deal/'.$ProductName.'"); 
?> 

如果改變頭爲301永久搬到這是更好的,但你只會如果在加載頁面的任何部分之前將產品名稱傳遞到變量$ ProductName中,則能夠更改標題。

header("HTTP/1.1 301 Moved Permanently"); 

如果您不能更改標題,那麼有方法可以在不使用標題的情況下在PHP中進行重定向。我相信下面的代碼工作:

$URL="http://www.abcdex.in/deal/'.$ProductName.'"; 
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">'; 
echo "<script type='text/javascript'>document.location.href='{$URL}';  </script>";