2016-10-03 6 views
1

Мне нужно динамически переписать URL-адрес с заголовком и идентификатором. Я хочу, чтобы URL динамическиПереписать URL-адрес динамического с заголовком и идентификатором

http://dev.example.com/beweb/iphone-8.html 

Вместо

http://dev.example.com/beweb/newsdetails.php?id=8&title=iphone 

Когда я запускаю выше URL, так это сделано dyanamically, что мне нужно .. но получать ошибки

" Not Found 
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 
The requested URL /beweb/iphone-8.html was not found on this server." 

У меня есть используемого под кодом:

RewriteEngine On 
RewriteCond %{THE_REQUEST} /beweb/newsdetails.php\?id=([^&\s]+)&title=([^&\s]+) [NC] 
RewriteRule^/beweb/%2-%1\.html? [NC,R,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^%2-([^.]+)\.html$ /beweb/newsdetails.php?id=$1&title=$2 [QSA,L,NC] 

Пожалуйста, помогите мне.

ответ

0

Правила почти правильные. Вы просто неправильно настроены последнее заявление, которое должно быть:

RewriteRule ^([^-]+)-([^.]+)\.html$ /beweb/newsdetails.php?id=$2&title=$1 [QSA,L,NC] 
+0

Я поставил код и он работает .. спасибо :). Но другая проблема возникает из-за того, что я хотел бы указать id из URL (получить параметр). Теперь получить ошибку .. можете ли вы мне помочь. – Jeff

+0

@Jeff Просто поменяйте «$ 1» и «$ 2» выше. – hjpotter92

+0

Мне нужна помощь ... вы можете это сделать – Jeff

0

С помощью этих линий вы можете проверить путь, который не является реальным статическим файл или каталог на сервере, а затем, если negetive, proccess имени файла, чтобы служить вашим пользователь:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^beweb/([a-z]+)\-([0-9]+).html$ /beweb/index.php?id=$2&title=$1 [QSA,L,NC] 

QSA означает добавить строку запроса на новый URL

+0

Кодовых ответов обычно недостаточно. Добавьте некоторое объяснение * почему * ваш код работает и почему нет кода OP. В противном случае ваш ответ может помочь только OP, который просто скопирует ваш ответ - и это не значит, что SO предназначен для использования. –

+0

@ Al.G. да, вы правы, я скоро добавлю объяснение. –