косая черта htaccess - PullRequest
       1

косая черта htaccess

2 голосов
/ 21 августа 2011
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /dir/index.php?category=$1&link=$2 [L]
RewriteCond %{REQUEST_URI} !\.[^./]+$ 
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.mydomain.com/dir/$1/$2 [R=301,L]

У меня проблема с этим, я надеюсь, что кто-то мне поможет.

www.domain.com/dir/category/

работает хорошо, но когда дело доходит до второй переменной

www.domain.com/dir/category/variable/

это не работает, но если я удаляю последнюю косую черту, это работает ...

РЕДАКТИРОВАТЬ ----------------------------

Пока все отлично работает.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/?$ /dir/index.php?category=$1&link=$2 [L]


RewriteCond %{REQUEST_URI} !\.[^./]+$ 
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.omain.com/dir/$1/$2 [R=301,L]

Ответы [ 2 ]

1 голос
/ 21 августа 2011

Попробуйте заменить первый RewriteRule следующим:

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^/]*)/([^/]*)/?$ /dir/index.php?category=$1&link=$2 [L]

Это явно разрешает косую черту в конце.

0 голосов
/ 21 августа 2011

Изменить

RewriteRule ^([^/]*)/([^/]*)$ /dir/index.php?category=$1&link=$2 [L]

На

RewriteRule ^([^/]*)/([^/]*)([^\.css|\.js])/?$ /dir/index.php?category=$1&link=$2$3 [NC,L]

РЕДАКТИРОВАТЬ Это огромный отрывок, и я надеюсь, что в какой-то момент я обновлю его с помощью правила одной строкиэто делает все, но сейчас это будет работать (мой мозг больше не работает должным образом).Это предполагает, что ваш JS находится в каталоге с именем «js», а CSS - в каталоге с именем «css».Порядок этих правил важен!

RewriteRule ^(css|js)/(.*)$ /dir/$1/$2 [L]
RewriteRule ^([^/]*)/([^/]*)/?$ /dir/index.php?category=$1&link=$2 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...