جعل Apache و Django إضافة مائلة زائدة
سؤال
دليل My /Train مستعار لنص في httpd.conf بواسطة: wsgiscriptalias /train /some-path/../django.wsgi
وهو يعمل بشكل جيد ، باستثناء مشكلة واحدة. إذا ذهب المستخدم إلى /تدريب (مع عدم وجود مائل زخرفي) ، فلن يعيد توجيهه إلى /تدريب /، ولكن سيعطيه الصفحة الصحيحة. هذه مشكلة لأن الروابط النسبية في هذه الصفحة تؤدي إلى المكان الخطأ عندما لم يتم استخدام مقطع شرطة مائل للوصول إليه.
كيف يمكن عمل هذا؟
شكرًا.
المحلول
أنا أستخدم شيئًا كهذا لإعادة توجيه /تدريب إلى /Train /ما أقوم به هو إعادة توجيه كل عنوان URL مما لا ينتهي بـ /to /Train /.
<Location "/train">
Order deny,allow
Allow from all
RewriteEngine on
RewriteRule !^.*/$ /train/ [R]
</Location>
WSGIScriptAlias /train /some-path/../django.wsgi
نصائح أخرى
إذا كنت بحاجة فقط إلى إعادة التوجيه من /train
إلى /train/
وليس من كل دليل فرعي بدون شرطة مائلة زائدة ، ثم هناك حل أبسط باستخدام توجيه RedirectMatch:
RedirectMatch ^/train$ /train/
اضبط urlconf على قبول train/
كما صالح بدلاً من ذلك ، ثم اجعل train
يؤدي إلى إعادة توجيه عام إلى /train/
.