2017-01-28 33 views
0

我有一個在覈心PHP/MySql內建立的dayanmic網站,並在one.com上託管,我試圖通過從網址中刪除所有不需要的符號來改善我的網址,尤其是變量?someid=htaccess mod重寫|刪除可變符號和所有不必要的文字

我嘗試了很多使用htaccess的腳本,但沒有任何工作。

目前我的網址是這樣的:example.com/category.php?post-title=بعض-النص-يذهب-هنا

我希望它看起來像這樣:example.com/بعض-النص-يذهب-هنا

標題存儲在MySQL數據庫。

正如我所說,我嘗試了很多MOD改寫的,但沒有奏效,這裏是我試過的腳本之一:

RewriteEngine On 
RewriteBase/
RewriteRule ([^/]*)\.html category.php?post-title=$1 

有多個腳本我試過了,我可以張貼太多,如果是很重要的。

回答

0

所有你需要用的就是這個:

RewriteEngine On 
RewriteRule ^([^/]*)$ /category.php?post-title=$1 [L] 

它將爲您留下您想要的網址:example.com/بعض-النص-يذهب-هنا。在測試之前,請確保清除緩存。

+0

工作完美,非常感謝你... –

+0

沒問題,很高興我可以幫助:) – Lag

+0

如果我有多個類別,我想重寫,我的意思是我有'category.php?post-title = $ 1',我有'category2.php?post-title = $ 1',我試圖做同樣的方法,但所有的都被重定向到一個cateogry。 –

0

嘗試像這樣在根目錄和國防部重寫必須重寫啓用,

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)$ category.php?post-title=$1 [QSA,L] 
+0

沒有工作, –

+0

什麼是錯誤? –

+0

的網址仍然是一樣的,沒有錯誤顯示 –

0

試試下面的代碼

<?php 
function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") { 
    $pageURL .= "s"; 
} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"] . ":" . 
     $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 
?> 

如果有任何疑問請按以下鏈接

How to remove the querystring and get only the url?

Removing query string in PHP (sometimes based on referrer)

0

,如果我只是按照你的例子中,你只需要這條規則:

RewriteEngine On 
RewriteBase/
RewriteRule (.*) /category.php?post-title=$1 

但是,這將孔路徑匹配每次。 。

也許你應該前綴你的類路徑就像

RewriteRule category/(.*)\.html /category.php?post-title=$1 

所以每個類別有一個像/分類/بعض-النص-يذهب-هنا路徑HTML