it-swarm.asia

كيف يمكنني إعادة كتابة عنوان URL القديم باستخدام المتغيرات إلى صفحة HTML ثابتة؟

أحاول إعادة توجيه عناوين URL القديمة إلى عناوين URL الجديدة ، استخدم الموقع القديم متغيرات في عنوان URL ولكن الموقع الجديد يستخدم عناوين URL صديقة لكبار المسئولين الاقتصاديين.

عندما أحاول إعادة توجيه عنوان URL القديم ، لا يتم إعادة التوجيه بشكل صحيح وأحصل على 404 أخطاء. لست متأكدًا مما إذا كانت إعادة كتابة محركات البحث هي سبب فشل حالة إعادة الكتابة الأخرى.

Options +FollowSymlinks RewriteEngine On

RewriteCond %{HTTP_Host} ^example.com    
RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteRule ^(.+).html index.php?seo_title=$1 [nc]    
Redirect 301 /WEBPAGE http://www.example.com/WEBPAGE.html    
RewriteRule ^http://www.example.co.uk/test/test.php?c=viewtest&id=56&sat=9&mainsat=1&start=0$ http://www.example.com/NEW_URL.html
ErrorDocument 404 /PAGE_NOT_FOUND.html

السؤال: كيف يمكنني كتابة RewriteRule بحيث يعيد توجيه URL القديم؟

3
Craig Angus

المشكلة التي وجدتها هي أن عنوان URL مقسم بين الملف والمتغيرات كما هو متوقع.

لذلك يتم أخذ كل شيء بعد ? كسلسلة استعلام.

تحتاج إلى إضافة شرط للتحقق من سلسلة الاستعلام (يمكنك تضمين التعبيرات العادية)

RewriteCond %{QUERY_STRING} ^viewtest&id=56&sat=9&mainsat=1&start=0$  
RewriteRule ^/test/test.php$ http://www.example.com/WEBPAGE.html? [R=301,L]

أيضًا ، لاحظ ? بعد عنوان URL الذي تمت إعادة توجيهه ، يؤدي ذلك إلى إيقاف المتغيرات التي يتم إلحاقها بعنوان URL الجديد

2
Craig Angus

يمكنك استخدام إعادة توجيه جافا سكريبت على صفحات معينة ، إن أمكن في حالتك.

0
Amit Kumar Gupta