2013-10-27 4 views
2

У меня есть страницаPHP: .htaccess переписать модуль

http://www.mydomain.com/test.php?A=a/b/c.png 

и .htacess У меня есть код

RewriteEngine On 
RewriteRule ^A/([^/]*)$ /test.php?A=$1 [L] 

если доступ

http://www.mydomail.com/A/a/b/c.png 

он не подведет я просматриваю файл, но это правило перезаписи работает с разделителем «-»

RewriteRule ^A-([^-]*)$ /test.php?A=$1 [L] 

доступ к URL

http://www.mydomain.com/A-a/b/c.png 

это работает, но я не хочу использовать разделитель "-" я хочу использовать разделитель "/"

ответ

1

Это не работает, потому что ваше регулярное выражение неверно. У вашего URI есть/в нем, и [^/] соответствует всем, кроме косой черты.

Измените свое правило на это.

RewriteRule ^A/([^.]*)$ /test.php?A=$1 [L,QSA] 

Или это:

RewriteRule ^A/(.+?)/?$ /test.php?A=$1 [L,QSA] 
+0

Благодарю вас, это действительно работает, спасибо большое: D – Detention

+0

Рады приветствовать вас, рад, что это сработало. – anubhava

+0

да 2-й работает, но 1-й не работал. – Detention

0

это просто

Исходный адрес URL:

http://www.mydomain.com/test.php?A=a/b/c.png

Переписанный URL:

http://www.mydomain.com/A/a/b/c.png

код Используйте пыльник Htaccess

RewriteEngine On 
RewriteRule ^A/([^/]*)$ /test.php?A=$1 [L] 

Если вы хотите использовать любой префикс просто использовать сильфон код

RewriteEngine On 
RewriteRule ^([^/]*)\.php$ /test.php?A=$1 [L] 

-------------------------------------^использовать все, что с вашими потребностями

Если вы хотите быть это как "mydomain.com/images/a/b/c.png'

RewriteEngine On 
RewriteRule ^([^/]*)$ /test.php?A=$1 [L] 

---------------------^// удалены А/отсюда

+0

как поставить некоторые префиксы перед ним, как я хочу, чтобы URL, чтобы быть «http://www.mydomain.com/images/a/b/c. png ' – Detention

+0

Обновлен мой код. Посмотрите на последние строки в моем ответе – underscore

+0

Я запутался в ваших кодах>. Detention

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