2014-11-05 70 views
-1

你好,我需要使我的網址乾淨,我只是不知道開始,因爲它是令人難以置信的,我已經閱讀了很多關於乾淨網址的事情,但我不知道。我需要一個沒有參數的乾淨網址

這就是我在做woorank,因爲我正在做我的seo。

警告!我們已在大量網址中檢測到參數。

我不能確定這是否是正確的我已經出了我的真實域名,並把我的網站,而不是

#RewriteCond %{HTTP_REFERER} !^$ 
#RewriteCond %{HTTP_REFERER} !^//(\.)?My site/.*$[NC] 
#RewriteRule .(png|gif|jpg)$ – [F] 

RewriteCond %{HTTP_HOST} !^ My site.co.uk$ [NC] 
RewriteRule (.*) My site.co.uk/$1 [L,R=301] 

謝謝JC

+0

你好,非常感謝你回到我身邊,我必須舉什麼樣的例子?所以對我的無知感到抱歉。 – 2014-11-05 15:37:31

回答

0

一個基本的htaccess可以是這樣的:

RewriteEngine on 
RewriteBase/

RewriteCond %{http_host} ^mysite.co.uk [nc] 
RewriteRule ^(.*)$ http://www.mysite.co.uk/$1 [r=301,nc] 

RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2&p3=$3 [L] 
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2 [L] 
RewriteRule ^([^/\.]+)/?$ index.php?p1=$1 [L] 

對於每個新參數,您只需在最後添加([^ /。] +)/和額外的參數..

代碼中發生的事是由你決定的,但是如果你想使用類似這樣的東西,你將需要一個標準的工作方式。

注:你不能只是實現現在這個樣子,因爲你的網站需要全力打造你的htaccess的結構。所以,如果你現在會取代這一點,其他很多事情可能會很快被打破。 ..。

+0

謝謝你回到我身邊。 – 2014-11-05 15:38:01

+0

沒問題,我希望這對你有幫助,或者讓你更好地瞭解你的問題? – Naruto 2014-11-05 15:38:58

0

這取決於。火影忍者指出。我們需要知道你的代碼的結構。舉一些例子,說明這些網址現在是怎樣的,以及你希望它們的樣子。這些例子將解釋你如何編程網站。

例如每個頁面/about.php,/register.php或每個頁面具有相同參數鍵的單個條目/index.php都有不同的php文件。

  • /index.php?page=page1 &富=酒吧& qux = NORF
  • /index.php?page=page2 &富=酒吧

或也許每一頁具有不同的參數名稱

  • /index.php?page=page1 &富=酒吧
  • /I ndex.php?頁=第2頁& qux = NORF

什麼,你總是可以做的是重定向到一個單一的index.php

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

現在的index.php需要路由一切approperiately。這基本上和火影忍者建議的一樣,但直接在PHP中,這對你來說可能更容易。 這條路由如何發生取決於您的代碼,取決於您。但讓我們假設您爲每個頁面使用不同的參數具有不同的文件。您可以在不更改代碼的其餘部分的情況下執行此操作。

// FROM: /shop.php?category=software&subcategory=webdevelopment 
// TO: /shop/software/webdevelopment 
$path = explode('/',$_SERVER['REQUEST_URI']); 
if($path[0] == 'shop') { 
    $_GET['category'] == $path[1]; 
    $_GET['subcategory'] == $path[2]; 
    include('shop.php'); 
} 

這種方式只需要編輯一個文件,其餘代碼仍可以使用$ _GET。這與您在htaccess中執行的操作相同。

+0

謝謝你的幫助,我會消化你們大家給出的答案。再次感謝你。詹妮弗克拉克。 – 2014-11-05 17:04:22