2016-04-27 2 views
1

У меня возникла проблема с переписыванием url с использованием файла .htaccess. Я не знаю регулярное выражение. У меня есть красное столько блогов и используется онлайн-генератор правил перезаписи для генерации URL-адреса и вставки в файл .htaccess. Но никто не работает. Я включил модуль mod_rewrite в файле httpd.conf на сервере apache.Как переписать URL-адрес, используя файл .htaccess?

Я хочу переписать приведенный ниже адрес.

Я разработал проект в ОС - Win7 с сервером Apache.

http://localhost:81/quora/tamilnanban/innerpage.php?url=why-you-should-avoid-watching-porn-on-android-smartphones 

в

http://localhost:81/quora/tamilnanban/why-you-should-avoid-watching-porn-on-android-smartphones 

мой текущий файл .htaccess содержит следующие коды:

RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^.*$ ./index.php 
#RewriteRule ^url/([^/]*)\.html$ :81/quora/tamilnanban/innerpage.php?url=$1 [L] 

RewriteRule ^/quora/tamilnanban/([^/]*)\.html$ /quora/tamilnanban/innerpage.php?url=$1 [L] 

Это выше правило также не работает. Пожалуйста, помогите мне добиться перезаписи URL-адресов с использованием файла .htaccess. Также, если я делаю ошибки на вышеуказанных шагах, пожалуйста, поправьте меня. Заранее спасибо.

ответ

1

Для преобразования /quora/tamilnanban/innerpage\.php\?url=foobar" в /quora/tamilnanban/foobar вы можете использовать следующие правила /quora/tamilnanban/.htaccess:

RewriteEngine on 

#1)Redirect "/quora/tamilnanban/innerpage\.php\?url=foobar" to "/quora/tamilnanban/foobar"# 
RewriteCond %{THE_REQUEST} /quora/tamilnanban/innerpage\.php\?url=(.+)\sHTTP [NC] 
RewriteRule^/quora/tamilnanban/%1? [L,R] 
#2)The rule bellow will internally map "/quora/tamilnanban/foobar"" to "/quora/tamilnanban/innerpage\.php?url=foobar"# 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/?(.+)$ /quora/tamilnanban/innerpage\.php?url=$1 [L] 
+0

Я использовал свой код в файле .htaccess. Теперь URL-адрес отображается в браузере, как ожидалось. Но страница перенаправляется на страницу localhost вместо ожидаемой соответствующей страницы. Пожалуйста, помогите мне, если что-то нужно изменить в вашем коде. Благодарю. – Janaki

+0

@Janaki, куда именно должна перенаправлять страница? – starkeen

+0

Я получу значение строки запроса (значение параметра url) в файле innnerpage.php и покажу содержимое страницы на основе значения URL. – Janaki

Смежные вопросы