2009-07-09 11 views
6

मैं अपने वर्तमान .htaccess फ़ाइल में निम्नलिखित नियम /videos/login.phphtaccess नियम आगे/लॉगिन/और/उसी पृष्ठ पर लॉगिन करने के लिए?

RewriteRule login/ /videos/login.php 

यह ठीक काम करता है अगर मैं http://mysite.com/videos/login/ का उपयोग कर पहुँच प्रवेश पृष्ठ हूँ, लेकिन जब मैं एक ही पृष्ठ http://mysite.com/videos/login का उपयोग कर (का उपयोग करने की कोशिश कर रहा हूँ /videos/login/ अनुरोध रीडायरेक्ट करने के लिए है स्लैश समाप्त किए बिना) तो यह मुझे "404 पृष्ठ नहीं मिला" त्रुटि देता है।

कृपया मुझे बताएं कि .htaccess फ़ाइल का सही नियम क्या होगा ताकि http://mysite.com/videos/login/ या http://mysite.com/videos/login के लिए कोई भी अनुरोध उसी /videos/login.php पृष्ठ पर इंगित करेगा।

धन्यवाद

उत्तर

13

बस स्लैश वैकल्पिक बनाने:

RewriteRule ^videos/login/?$ /videos/login.php 

लेकिन आप बेहतर सिर्फ एक संस्करण (के साथ या स्लेश अनुगामी के बिना) का उपयोग करें और अन्य के लिए एक रीडायरेक्ट करना चाहिए:

# add trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .*[^/]$ /$0/ [L,R=301] 

# remove trailing slash 
RewriteRule (.*)/$ /$1 [L,R=301] 
+0

@ गंबो आपका नियम ठीक काम कर रहा है, यह उसी पृष्ठ को स्लैश के साथ और बिना खोल रहा है, लेकिन मैं चाहता हूं कि कोई भी/वीडियो/लॉगिन एक्सेस करेगा, फिर उसे एचटीएसीएएस का उपयोग करके/वीडियो/लॉगिन/पर रीडायरेक्ट किया जाएगा। – Prashant

+0

मैंने अभी दोनों विकल्पों का उल्लेख किया है। यदि आप पिछला स्लैश चाहते हैं, तो बस पूर्व का उपयोग करें। – Gumbo

+0

लेकिन #add पिछला स्लैश मेरे सभी यूआरएल में स्लैश जोड़ देगा, जो मैं नहीं चाहता हूं, कुछ चयनित यूआरएल हैं जिनके लिए मुझे यह सुविधा चाहिए – Prashant

1

mod_rewrite

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/videos/login/?$ 
RewriteRule (.*) /videos/login.php [L,R=301] 
का उपयोग करना 0
0
redirect 301 /videos/login/index.html http://yoursite.com/videos/login.php 

The server will change the address http://mysite.com/videos/login/ and http://mysite.com/videos/login both to http://mysite.com/videos/login/index.html, based on the configuration but this is default. Before it encounters a 404 this address is redirected to the new one. At least this works at my site.

पूर्व उपयोग करने के लिए है क्योंकि साइट की जाने मुझे पोस्ट केवल एक हाइपरलिंक था:/

2

मेरे लिए यह काम ठीक:

RewriteRule^लॉगिन (/ |) $ /videos/login.php

संबंधित मुद्दे