mod_rewrite, косые черты - одна строка вместо двух? - PullRequest
1 голос
/ 31 марта 2011

Я играл с mod_rewrite, используя .htaccess для перевода некоторых каталогов - как для улучшения SEO, так и для создания более дружественных / более запоминающихся URL.

Единственная проблема, которую я не могу решить в данный моментэто с косой чертой.Поведение, которое я хочу, заключается в том, что вы должны иметь возможность получить доступ к ссылке с косой чертой или без нее, просто чтобы сократить пропущенный трафик.

Мой реальный URL выглядит так:

http://www.mydomain.com/shipyard/index.php

Я хотел бы, чтобы люди могли получить к нему доступ через:

http://www.mydomain.com/shipyard/ 
http://www.mydomain.com/shipyard
http://www.mydomain.com/ships/ 
http://www.mydomain.com/ships 

Конечно, верхние два покрыты, потому что это на самом деле реальный и доступный URL, но я планирую сообщить Google, что лучший способ получитьна странице используется / ship (без необходимости перемещать каталоги, ломать существующие ссылки и т. д.).

Лучшее, что я придумал, было:

RewriteRule ^ships/$ /shipyard/index.php [L]
RewriteRule ^ships$ /shipyard/index.php [L]

Однако я просто ЗНАЮ, чтоЯ использую две линии, где нужна только одна, но что бы я ни пытался, я не смог получить одну!Я знаю, что упускаю что-то невероятно простое и / или очевидное, но мне нужен указатель ... Спасибо!

1 Ответ

2 голосов
/ 31 марта 2011
RewriteRule ^ships(/)?$ /shipyard/index.php [L]

Это означает, что косая черта может присутствовать или не присутствовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...