سؤال

أول نظرة على عنوان URL هذا:

https://stackoverflow.com/Questions/tagged/xoxoxo/

لا يوجد هذا الدليل ولكن يمكن أن يمر Stackoverflow بطريقة أو بأخرى في الدليل الأخير كمعلمة إلى البرنامج النصي الأساسي.

هل هذا ممكن لتكوين IIS أو Apache للقيام بذلك؟ كيف؟

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

المحلول

وتسمى الآلية وراء هذا النوع من السلوك عنوان URL - إعادة كتابة ويمكن تنفيذها في اباتشي مع ال mod_rewrite-Modules وفي IIS مع إما هيليون isapi_rewrite لايت (أو أحد البدائل غير الحرة التي تقدمها هيليكان) IIS 5.1. و 6 أو مع Microsoft URL إعادة كتابة الوحدة بالنسبة IIS 7..

على سبيل المثال، ستضمن الإعدادات التالية أنه سيتم نقل كل طلب لا يمكن مطابقته على ملف أو دليل موجود إلى index.php ملف.

mod_rewrite (.htaccess في الدليل لجذر المستند أو في مكان ما في httpd.conf)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR] // IF is file (with size > 0)
RewriteCond %{REQUEST_FILENAME} -l [OR] // OR is symbolic link
RewriteCond %{REQUEST_FILENAME} -d      // OR is directory  
RewriteRule ^.*$ - [NC,L]               // DO NOTHING
RewriteRule ^.*$ index.php [NC,L]       // TRANSFER TO index.php

isapi_rewrite لايت (في مربع الحوار المناسب لإعدادات IIS الخاصة بك)

// uses same syntax as mod_rewrite
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Microsoft URL إعادة كتابة الوحدة (في الخاص بك web.config في الدليل الجذر المستند أو مكان seome في شجرة التكوين)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="MatchExistingFiles" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" ignoreCase="false" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="None" />
                </rule>
                <rule name="RemapMVC" stopProcessing="true">
                    <match url="^.*$" />
                    <conditions logicalGrouping="MatchAll" />
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top