Просто перешел на общий хостинг на GoDaddy, и я пытаюсь заставить мои правила .htaccess работать.
Вот что у меня есть:
ErrorDocument 404 /error.php
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.mydomain\.org$
RewriteRule ^(.*)$ http://mydomain.org/$1 [R=301,L]
RewriteRule ^view/(\w+)$ viewitem.php?itemid=$1 [R=301,L]
RewriteRule ^category/(\w+)$ viewcategory.php?tag=$1 [R=301,L]
RewriteRule ^faq$ faq.php
RewriteRule ^about$ about.php
RewriteRule ^contact$ contact.php
RewriteRule ^submit$ submit.php
RewriteRule ^contactmsg$ handler-contact.php
Кажется, что все страницы в корне домена работают, то есть mydomain.org/faq, mydomain.org/about работают.
Но всякий раз, когда я пробую mydomain.org/category/somecategory, я получаю 404. Как я могу исправить мой .htaccess, чтобы он подчинялся этим правилам, которые более чем на 1 уровень?
Спасибо,
РЕДАКТИРОВАТЬ: Я исправил правила, изменив их на следующее:
RewriteRule ^view/(.*)$ viewitem.php?itemid=$1
RewriteRule ^category/(.*)$ viewcategory.php?tag=$1
Может ли кто-нибудь подтвердить / опровергнуть, что это правильный способ исправить это?
Вы делаете это по-новому (с (.*)
) правильно.