htaccess переписать проблему в IE - PullRequest
0 голосов
/ 23 июня 2011

Я возился с .htaccess и mod_rewrite.У меня есть сайт, который имеет два типа URL, которые я переписал:

  • /index.php?nav=$2
  • /index.php?nav=41&intNewsId=$3 - 41 статический, навигация по новостям всегда 41

Я переписал их на:

  • /pagename/id
  • /news/pagename/id

Я уже создал фрагмент кода, который работает(ниже), я получил некоторую помощь от сообщества, но странная вещь заключается в том, что http://www.mydomain.nl/projects/15 отлично работает в FF, Chrome и Safari, но дает «страницу не может быть отображена» в IE.Работает ли htaccess по-разному в разных браузерах?(Я очень сомневаюсь в этом)

Options +FollowSymlinks
RewriteEngine on

# Reroute rules that end on / 
RewriteRule ^(.*)\/(\d+) /$1/$2/ [R] 
# RewriteRule ^(.*)\/(.*)\/(\d+) /$1/$2/$3/ [R] 

# Make the system understand pagename/96
RewriteRule ^(.*)\/(\d+)/ /index.php?nav=$2 

# Make the system understand news/pagename/99
RewriteRule ^(.*)\/(.*)\/(\d+)/ /index.php?nav=41&intNewsId=$3

Я решил проблему , но я не уверен, почему это работает, а предыдущий код - нет.Я исправил две вещи: я удалил начальный / из /index.php ... Это не решило, но это меньше байтов: D

Затем я переписал правило / -rerouting, это исправило это ...

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mydomain.nl/$1/ [L,R=301] 

RewriteRule ^(.*)\/(\d+)/ index.php?nav=$2 

RewriteRule ^(.*)\/(.*)\/(\d+)/ index.php?nav=41&intNewsId=$3

Спасибо всем!

1 Ответ

1 голос
/ 09 марта 2012

Я решил проблему, но я не уверен, почему это работает, а предыдущий код - нет.Я исправил две вещи: я удалил начальный / из /index.php ... Это не решило, но это меньше байтов: D

Затем я переписал правило / -rerouting, это исправило это ...

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mydomain.nl/$1/ [L,R=301] 

RewriteRule ^(.*)\/(\d+)/ index.php?nav=$2 

RewriteRule ^(.*)\/(.*)\/(\d+)/ index.php?nav=41&intNewsId=$3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...