apache2.4 মোড_উইরাইট নির্দিষ্ট সর্বাধিক ডিরেক্টরয়ে / ইউরি বাদ দেয়


11

আমার কোনও হোস্টে আমার নীচের সেটআপ রয়েছে:

...<VirtualHost *:80>
    ServerName cloud.domain.de
    ServerAdmin webmaster@domain.de
    ServerSignature Off

    Alias "/.well-known/acme-challenge" "/var/www/domain.de/vh-www/htdocs/public/.well-known/acme-challenge"

    <Directory "/var/www/domain.de/vh-www/htdocs/public/.well-known/acme-challenge">
      Require all granted
      ForceType 'text/plain'
    </Directory>

    <ifmodule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %(REQUEST_URI) !/\.well\-known/acme\-challenge/?.*
      RewriteCond %{HTTPS} off
      # RewriteRule ^\.well-known/acme-challenge/([A-Za-z0-9-]+)/?$ - [L]
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </ifmodule>...

আমি যেটি অর্জন করতে চাই তা হ'ল, ইউআরএল http://cloud.domain.de/.well-known/acme-challenge/অ্যাক্সেস করার পরে মোড_আরাইট URL টি পুনরায় লিখন করে না ।

আমি ইতিমধ্যে বিভিন্ন পদ্ধতির চেষ্টা করেছি যার মধ্যে একটি উপরের মন্তব্য-আউট RewritRule হ'ল, তবে কিছুই কাজ করছে বলে মনে হচ্ছে না: সার্ভারটি এটি প্রতিবারে https এ পুনর্লিখন করে।

আমি যখন পরীক্ষার উদ্দেশ্যে পুনর্লিখনটি অক্ষম করি তখন আমি ওরফে ইউআরএলটি ঠিক ঠিক অ্যাক্সেস করতে পারি ...

আমি কীভাবে নির্দিষ্ট ইউআরএল পুনর্লিখন না করা অর্জন করব?

উত্তর:


16

সে রকমই :

<ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</ifmodule>

ইউআরআই মিললে start with /.well-known/acme-challenge/অনুরোধটি পুনর্নির্দেশ করা হবে না


প্রথম, আপনাকে পরামর্শের জন্য ধন্যবাদ! দুর্ভাগ্যক্রমে, এটি কার্যকর হয়নি। আপনি যখন যান: http://www.server-plant.de/.well-known/acme-challenge/এটি এখনও আবার লেখা হচ্ছে। (আমি আমার www-সাবডোমেনের জন্য একই পুনর্লিখনের নিয়ম এবং শর্তাদি প্রয়োগ করেছি, সুতরাং এটি ক্লাউড-
সাবডোমেনের মতোই বাহ্যিকভাবে

সম্পাদিত: এখানে) instead এর পরিবর্তে () ছিল এবং RewriteCond %{HTTPS} offএটির প্রয়োজনীয়তা নেই
Froggiz

হ্যাঁ, আমি সঠিকভাবে বন্ধনীগুলির জন্য পরীক্ষা না করে অন্ধভাবে অনুলিপি করে আপনার অনুলিপি করেছি, তবে ভাল, শ .. ঘটেছে :) এখন এটি কবজির মতো কাজ করে এবং আপনি অন্য শর্তটি সম্পর্কেও সঠিক। একটি মাত্র প্রশ্ন বাকি: পিছনের পিছনে সমস্ত কিছুর সাথে কীভাবে শর্তটি পরিবর্তন করা যায় /? সুতরাং এটি index.html এবং তাই ধরে না?
ফ্লাইবেলিং

এটি ইতিমধ্যে start with /.well-known/acme-challenge//.well-known/acme-challenge/anything
সমস্তটির সাথে

1
পুনরায় লেখার কনফিগারেশনগুলি RewriteOptions InheritDownঅ্যাপাচি ২.৪.৮ থেকে সমস্ত ভার্চুয়াল হোস্টের উত্তরাধিকার সূত্রে প্রাপ্ত হতে পারে । RewriteEngine Onপ্রতিটি ভার্চুয়াল হোস্ট কনফিগারেশনে এখনও উপস্থিত থাকতে হবে।
tobltobs

3

@ চিহ্নিত "সংক্ষিপ্ত এবং আরও শক্তিশালী" বৈকল্পিকের সঠিক সংস্করণ:

RewriteCond %{REQUEST_URI} ^/\.well\-known
RewriteRule . - [L]

নীচে এসএসএল পুনর্নির্দেশের নিয়মগুলি বন্ধ করতে এটি যুক্ত করা দুর্দান্ত
জেমস টান

2 লাইনের একক ডট আমার পক্ষে কাজ করে নি। এটি কি কারণ এটি কেবল একটি চরের সাথে মেলে এবং ইউআরএল বিভিন্ন অক্ষর নিয়ে গঠিত? পরিবর্তে আমি ^ (। *) Using ব্যবহার করছি।
জেট

0

IMHO খাটো এবং আরও শক্তিশালী:

RewriteCond %{REQUEST_URI} ^\.well\-known
RewriteRule - [L]

আপনি / acme- চ্যালেঞ্জ / শেষ পর্যন্ত যুক্ত করতে চাইতে পারেন তবে আপনি যদি এটি একটি সালিসী ফাইলের সাথে ডিবাগ করতে চান তবে। / ওয়েল-অজানা / সেরা এই সমাধানটি আরও কার্যকর

এটি আসলে কী করে: অনুরোধটি শুরু হয় কিনা তা দেখুন।


নাঃ। ভার্চুয়ালহোস্টগুলির এখনও অগ্রাধিকার রয়েছে বলে মনে হয়। "ভার্চুয়াল হোস্ট> বিভাগগুলির মধ্যে বিভাগগুলি ভার্চুয়াল হোস্ট সংজ্ঞার বাইরে সম্পর্কিত বিভাগগুলির পরে প্রয়োগ করা হয় This এটি ভার্চুয়াল হোস্টগুলিকে মূল সার্ভার কনফিগারেশনকে ওভাররাইড করতে দেয়।" httpd.apache.org/docs/current/sections.html
ফ্রেডেরিক নর্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.