هتكس (لا إعادة توجيه) [REWRITEURL] (المجلد index.php)

StackOverflow https://stackoverflow.com/questions/807630

  •  03-07-2019
  •  | 
  •  

سؤال

أريد فقط للحصول على السريع htaccess إعادة التوجيه.أي:

domain.com/subfolderGreen --> domain.com/index.php?folder=subfolderGreen

(لاحظ أن subfolderGreen موجود في الواقع)

لقد حاولت ولكن لم أستطع الحصول على regex الحاجة.

شكراأ.

وأضاف:

آسف, أنا أريد هذا العمل لأي فرعي وليس فقط "subfolderGreen" أنا باستخدام

روريترول ^/([^/]+)/?$ /مؤشر.php?المجلد=$1 [L]

لكنه لا يعمل.أي أدلة ؟

هل كانت مفيدة؟

المحلول

أعتقد أن المثال الخاص بك سوف تتسبب في حلقة لا نهاية لها منذ /index.php يطابق ما تقومون به.جرب هذا:

RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]

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

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]

نصائح أخرى

RewriteRule ([^/]+)$ index.php?folder=$1

أعتقد أن سوف تفعل خدعة.

روريترول لديه بعض القضايا المربكة عند استخدامها في .htaccess الذي يتطلب إضافة RewriteBase.

ما الأخطاء/مشاكل أنت ترى ؟ إذا كنت تريد أن تكون متأكدا من كيفية إعادة توجيه إضافة [R] يمكن أن تساعد في كثير من الأحيان مع التصحيح.

أخيرا...لا subfolderGreen موجودة حقا أم لا ؟ إذا كان موجودا التي يمكن أن تسبب بعض المشاكل.

أعتقد أنه:

RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]

خط رقم 2 سيتم التعامل مع حالة إذا كان شخص يذهب إلى website.com/mypage///// حتى أنه تخلف عن website.com/mypage/ بدلا من ذلك (على ما أظن)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top