2017-01-28 11 views
0

У меня есть сайт dayanmic, встроенный в ядро ​​PHP/MySql и размещенный на one.com, я пытаюсь сделать мои URL-адреса SEO дружественными, удалив все ненужные знаки из URL, особенно переменную ?someid=htaccess мод переписывания | удалить знак переменной и весь ненужный текст

Я пробовал много скриптов, используя htaccess, но ничего не работало.

В настоящее время мой URL выглядит следующим образом: example.com/category.php?post-title=بعض-النص-يذهب-هنا

Я хочу, чтобы выглядеть следующим образом: example.com/بعض-النص-يذهب-هنا

Названное хранится в базе данных MySql.

, как я упоминал, что я пробовал много мод переписывания, но ничего не получалось, вот один из сценариев, которые я пробовал:

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

Существует несколько сценариев, я пытался, я могу отправить их тоже, если это важно.

ответ

0

Все, что вам нужно использовать это:

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

Он оставит у вас свой желаемый URL-адрес: 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

url все тот же, ошибка не отображается –

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