Я работал с различными учебниками и руководствами.htaccess для преобразования моих динамических URL-адресов в плоские SEO-дружественные.
Все работает нормально, кроме одной ссылки, которая, похоже, возвращается к динамическому URL. Я попытался отключить несколько правил, но я не могу решить эту проблему.
Пример перенаправления
http://iforwms.com/page/home => http://iforwms.com/index.php?page=home (без проблем)
http://iforwms.com/page/blog => http://iforwms.com/index.php/blog?page=blog (??)
Вот мой весь файл.htaccess. Надеюсь, кто-то может пролить свет на это...
# Set Timezone
SetEnv TZ Asia/Shanghai
Options +FollowSymLinks
# Enable Rewriting
RewriteEngine on
# Redirect non-www urls to www
RewriteCond %{HTTP_HOST} ^www\.iforwms\.com$ [NC]
RewriteRule ^(.*)$ http://iforwms.com/$1 [R=301,NC,L]
# Rewrite user URLs
RewriteRule ^page/(\w+)$ index.php?page=$1 [L]
# Retrieve tagged blog posts
RewriteRule ^page/blog/(\w+)$ index.php?page=blog&tag=$1 [L]
# Retrieve single blog post
RewriteRule ^page/article/(.*)/(.*)$ index.php?page=blog&article=$2 [L]
Заранее спасибо,
-ifor
Я удалил "страницы" для ссылки rewrite, и это как-то устранило проблему. Здесь мой обновленный.htaccess для всех, у кого случается такая же проблема.
# Set Timezone
SetEnv TZ Asia/Shanghai
Options +FollowSymLinks
# Enable Rewriting
RewriteEngine on
# Redirect non-www urls to www
RewriteCond %{HTTP_HOST} ^www\.iforwms\.com$ [NC]
RewriteRule ^(.*)$ http://iforwms.com/$1 [R=301,NC,L]
# Rewrite user URLs
RewriteRule ^(\w+)$ index.php?page=$1 [L]
# Retrieve tagged blog posts
RewriteRule ^blog/(\w+)$ index.php?page=blog&tag=$1 [L]
# Retrieve single blog post
RewriteRule ^article/(.*)/(.*)$ index.php?page=blog&article=$2 [L]
/blog/
?