Tôi có một trang web có một tập hợp các trang .html và .php cũ đã được đưa vào CMS.Sử dụng mod_rewrite và mod_alias (chuyển hướng 301) cùng nhau trong .htaccess?
Hiện nay trong file .htaccess có khoảng 30 mod_alias chuyển hướng theo hình thức sau:
redirect 301 /oldpage1.html http://www.example.com/newpage1.php
redirect 301 /oldpage2.php http://www.example.com/newpage2.php
redirect 301 /oldpage3.php http://www.example.com/newpage3.php
Nhưng chúng tôi muốn sử dụng mod_rewrite để có URL khá trong CMS của chúng tôi, điều này sẽ mang hình thức http://www.example.com/pagename.php
, vì vậy cũng có những điều sau đây:
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1
tại thời điểm cả hai đang được áp dụng với nhau, mà kết quả trong:
http://www.example.com/newpage1.php?page=oldpage1.html
Làm thế nào tôi có thể áp dụng các quy tắc viết lại chỉ khi không phù hợp đã được thực hiện bởi các mod_alias redirect 301 báo cáo, do đó sau đây xảy ra:
http://www.example.com/oldpage1.html
-> chuyển hướng đến -> http://www.example.com/newpage1.php
-> được coi là - > http://www.example.com/index.php?page=/newpage1.php
Bất kỳ gợi ý nào sẽ được đánh giá rất nhiều? Cảm ơn.