2012-04-09 3 views
1

В настоящее время на моем сайте посетители могут напрямую обращаться к различным сообщениям, перейдя на «www.mywebsite.com/index.php?post=123», где 123 - это номер сообщения.Mod Переписать для создания короткой прямой ссылки

Я пытаюсь использовать htaccess, чтобы немного очистить прямую ссылку, желаемый результат состоит в том, что пользователь может перейти на «www.mywebsite.com/123», а htaccess перенесет их на «www.mywebsite.com /index.php?post=123

Я попытался с помощью следующей Modrewrite но направляет меня на ошибку 404:.

RewriteRule ^/([0-9]+)$ /index.php?videoID=$1 [QSA] 

я уверен, что модуль Modrewrite работает, потому что я использую другие правила. Вот мой весь файл .htaccess:

RewriteEngine On 
RewriteRule ^/([0-9]+)$ /index.php?videoID=$1 [QSA] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+0

Попробуйте опцию [R] в том, что перепишите, чтобы увидеть, как происходит переадресация. – Shubham

+0

Я не уверен, что вы имеете в виду @Shubham, когда я добавляю [R], ничего не меняется. Что я должен искать? – cazzer

+0

http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html: см. Раздел «Форсирование нового запроса». – Shubham

ответ

0

Если эти правила в файле .htaccess, вам необходимо удалить префикс (ведущий слэш) из регулярного выражения, используемого для сопоставления с URI:

RewriteRule ^([0-9]+)$ /index.php?videoID=$1 [QSA] 
Смежные вопросы