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 が返されます。1 レベルを超える深さのこれらのルールに従うように .htaccess を修正するにはどうすればよいでしょうか?
ありがとう、
編集: ルールを以下のように変更して修正しました:
RewriteRule ^view/(.*)$ viewitem.php?itemid=$1
RewriteRule ^category/(.*)$ viewcategory.php?tag=$1
これが事実であるかどうか確認/否定できる人はいますか?ちゃんとしたこれを修正するにはどうすればいいですか?
答え1
あなたが行っている新しい方法( を使用(.*)
)は正しいです。